欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA 时间 和 js里面时间的区别

程序员文章站 2022-04-04 21:09:25
...
[color=red]JAVA 里面处理时间时,只要按照format格式去解析时间,结果都是正确的。

二JS里面 format 格式不一样 解析的时间结果都是不一样的。[/color]

以下代码没有去封装,直接看吧!


// format yyyy-MM-dd HH:mm:ss/yyyyMMddHHmmss/ yyyyMMdd / yyyy/MM/dd
DateFormat dateFormat = null;
String format = "yyyy/MM/dd";
String stime = null;
Date dstime = null;

System.out.println("Date.parse(\"Jul 8, 2005\")" + " " +Date.parse("Jul 8, 2005"));

format = "yyyy/MM/dd";
stime = "2005/07/08";
dateFormat = new SimpleDateFormat(format, Locale.CHINA);
dstime = dateFormat.parse(stime);
System.out.println(format + " " + stime + " " +dstime.getTime());

format = "yyyy-MM-dd";
stime = "2005-07-08";
dateFormat = new SimpleDateFormat(format, Locale.CHINA);
dstime = dateFormat.parse(stime);
System.out.println(format + " " + stime + " " +dstime.getTime());

format = "yyyyMMdd";
stime = "20050708";
dateFormat = new SimpleDateFormat(format, Locale.CHINA);
dstime = dateFormat.parse(stime);
System.out.println(format + " " + stime + " " +dstime.getTime());



结果:

Date.parse("Jul 8, 2005") 1120752000000
yyyy/MM/dd 2005/07/08 1120752000000
yyyy-MM-dd 2005-07-08 1120752000000
yyyyMMdd 20050708 1120752000000

结论:时间都一致。


js:
[color=red]使用 parse() 来输出从 [b]2005/07/08 [/b]到一个具体日期的毫秒数[/color]


<html>
<body>

<script type="text/javascript">

var d = Date.parse("Jul 8, 2005");
document.write(d); //1120752000000

d = Date.parse("2005/07/08");
document.write('---------' + d); //1120752000000

d = Date.parse("2005-07-08");
document.write('---------' + d);//1120780800000

d = Date.parse("20050708");
document.write('---------' + d);//NaN

</script>

</body>
</html>


结果:



1120752000000---------1120752000000---------1120780800000---------NaN
结论:Jul 8, 2005 和 2005/07/08 时间一样,其他的不一样。


所以:
[color=red]JS里面 Date.parse( time ) 只能解析YYYY/MM/DD类型的时间。[/color]


function compareDate(d1, d2) { // 时间比较的方法,如果d1时间比d2时间大,则返回true
return Date.parse(d1.replace(/-/g, "/")) >= Date.parse(d2.replace(/-/g, "/"))
}


[color=red]d1 ,d2 只能传 YYYY-MM-DD 或者 YYYY/MM/DD 类型的时间 而不能 传入 YYYYMMDD的时间类型[/color]
相关标签: format Date