您好,欢迎访问一九零五行业门户网

js字符串日期yyyy-MM-dd转化为date示例代码_javascript技巧

最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到date.parse(str)函数在ff下报错: nan
找了些资料,发现是由于date.parse()函数对日期格式有要求:详细参考 date.parse函数
对于js操作日期:
创建一个日期对象:
var objdate=new date([arguments list]);
参数形式有以下5种:
复制代码 代码如下:
view plainnew date(month dd,yyyy hh:mm:ss);
new date(month dd,yyyy);
new date(yyyy,mth,dd,hh,mm,ss);
new date(yyyy,mth,dd);
new date(ms);
说明:
month:用英文表示月份名称,从january到december
mth:用整数表示月份,从0(1月)到11(12月)
content
dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数,表示的是需要创建的时间和gmt时间1970年1月1日之间相差的毫秒数。
我发现了:
javascript中日期的构造还可以支持 new date(yyyy/mm/dd); 其中:mm是整数表示月份从0(1月)到11(12月),这样再利用正则表达式就很方便地能够转换字符串日期了。
测试代码:
复制代码 代码如下:
输出结果:
tue feb 3 00:00:00 utc+0800 2009
tue feb 3 10:52:03 utc+0800 2009
tue feb 3 00:00:00 utc+0800 2009
tue feb 3 10:52:03 utc+0800 2009
tue feb 3 00:00:00 utc+0800 2009
tue feb 3 10:52:03 utc+0800 2009
nan
nan
tue feb 3 00:00:00 utc+0800 2009
tue feb 3 00:00:00 utc+0800 2009
tue feb 3 11:12:13 utc+0800 2009
nan
-------------------
复制代码 代码如下:
window.onload=function(){
var dependedval=2005-3-4;
//根据日期字符串转换成日期
var regex = new regexp(\\-,gi);
dependedval=dependedval.replace(regex,/);
//dependedval=dependedval.replace(\\-,/);//这样不行
alert(dependedval)
//parse 需要 2005/3/4 这种格式
var milliseconds=date.parse(dependedval);
alert(milliseconds)
var dependeddate=new date();
dependeddate.settime(milliseconds);
var now = new date();
//注意括号,优先级问题,无奈
alert(相隔年数:+(now.getfullyear() - dependeddate.getfullyear()));
}
其实日期在浏览器和服务器之间传输都要通过毫秒值来传,否则就会报错 400错误!
其它类似信息

推荐信息