JAVA 时间 和 js里面时间的区别
程序员文章站
2022-04-04 21:09:25
...
[color=red]JAVA 里面处理时间时,只要按照format格式去解析时间,结果都是正确的。
二JS里面 format 格式不一样 解析的时间结果都是不一样的。[/color]
以下代码没有去封装,直接看吧!
结果:
js:
[color=red]使用 parse() 来输出从 [b]2005/07/08 [/b]到一个具体日期的毫秒数[/color]
结果:
所以:
[color=red]JS里面 Date.parse( time ) 只能解析YYYY/MM/DD类型的时间。[/color]
[color=red]d1 ,d2 只能传 YYYY-MM-DD 或者 YYYY/MM/DD 类型的时间 而不能 传入 YYYYMMDD的时间类型[/color]
二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]
上一篇: 检索指定时间范围内的数据与预期不一致
下一篇: 两个时间段的差大于10分钟
推荐阅读
-
完整显示当前日期和时间的JS代码
-
JS匹配日期和时间的正则表达式示例
-
Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别
-
获取指定时间的Date对象,IE和Chrome的区别(兼容IE)
-
mysql中时间函数NOW()和SYSDATE()的区别
-
用js实现页面显示当前日期和时间的代码
-
JS代码段:VUE下的时间,星期和年月日
-
为什么不建议使用Date,而是使用Java8新的时间和日期API?
-
Java日期时间API系列30-----Jdk8中java.time包中的新的日期时间API类,减少时间精度方法性能比较和使用。
-
解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题