今天js中获取不同时间的毫秒数一直都是同一个数,把时间转换毫秒数的四种方法都试了,还是不行。
转换四种方法(转自网络):
1.Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期返回日期的毫秒数。
例:Date.parse(“2012年9月9日”)
NaN
例:Date.parse(“2012 9 9”)
1347120000000
2.Date.UTC(): 方法可根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。这些参数中只有前两个参数是必需的。
语法:
Date.UTC(year,month,day,hours,minutes,seconds,ms)
| 参数 | 描述 |
|---|---|
| year | 必需。表示年份的四位数字。 |
| month | 必需。表示月份的整数,介于 0 ~ 11。 |
| day | 必需。表示日期的整数,介于 1 ~ 31。 |
| hours | 可选。表示小时的整数,介于 0 ~ 23。 |
| minutes | 可选。表示分钟的整数,介于 0 ~ 59。 |
| seconds | 可选。表示秒的整数,介于 0 ~ 59。 |
| ms | 可选。表示毫秒的整数,介于 0 ~ 999。 |
3.valueOf(): 该方法返回日期的毫秒表示.
例:var date = new Date();
date.valueOf();
1368283579633
- getTime(): 返回表示日期的毫秒数,与valueOf()返回的值相同
例:var date = new Date();
date.getTime();
1368283691951
错误原因:不能两个时间一块儿获取毫秒数不然就会一样。
错误代码:
var date1= new Date();//当前时间
var date2 = new Date(date1.setMinutes(date1.getMinutes()+2));//当前时间分钟加2
var date1M=date1.getTime();//date1毫秒数
var date2M=date2 .getTime();//date2毫秒数
正确代码:
var date1= new Date();//当前时间
var date1M=date1.getTime();//date1毫秒数
var date2 = new Date(date1.setMinutes(date1.getMinutes()+2));//当前时间分钟加2
var date2M=date2 .getTime();//date2毫秒数
这样获取的毫秒数就会不一样啦 改了好久!记录一下!
希望可以帮到你
本文介绍了在JavaScript中遇到的获取不同时间毫秒数始终相同的问题,分析了Date.parse(), Date.UTC(), valueOf()和getTime()等方法的使用误区,并提供了正确的代码示例。错误在于同时修改和获取毫秒数导致结果相同,正确做法是先获取再修改。通过理解这些方法的用法,可以帮助开发者避免此类问题。
6153





