Javascript 使用矩将日期格式化为unix时间戳(以毫秒为单位)。js返回格式字符串
我知道这里有很多问题都在问类似的问题,但仔细看了答案后,我似乎得到了意想不到的结果 我有一个完整的日期,需要在毫秒内将其转换为unix时间戳 日期为完整格式:Javascript 使用矩将日期格式化为unix时间戳(以毫秒为单位)。js返回格式字符串,javascript,unix,momentjs,Javascript,Unix,Momentjs,我知道这里有很多问题都在问类似的问题,但仔细看了答案后,我似乎得到了意想不到的结果 我有一个完整的日期,需要在毫秒内将其转换为unix时间戳 日期为完整格式:2016年12月6日星期二10:51:47 GMT+0000(GMT) 如果我尝试使用unix毫秒的x标识符(如文档中所示)对其进行格式化,我实际上只需要返回字符串“x” 时刻(日期)。格式('x')/=x 我做错了什么?在执行此操作之前,是否需要将日期转换为完整格式以外的格式?为什么将参数传递给format()只会返回我在那里键入的格式?
2016年12月6日星期二10:51:47 GMT+0000(GMT)
如果我尝试使用unix毫秒的x
标识符(如文档中所示)对其进行格式化,我实际上只需要返回字符串“x”
时刻(日期)。格式('x')/=x
我做错了什么?在执行此操作之前,是否需要将
日期
转换为完整格式以外的格式?为什么将参数传递给format()
只会返回我在那里键入的格式?在Moment2.8.4中添加了x
选项,任何早于该选项的版本只会返回字母x
,而不是以毫秒为单位的unix时间
版本2.8.4
var日期='2016年12月6日星期二10:51:47 GMT+0000(GMT)';
var unix=时刻(新日期)。格式('x');
console.log(unix)代码>
版本2.8.4-正常工作
在Moment2.8.4中添加了x
选项,任何早于该选项的版本只返回字母x
,而不是以毫秒为单位的unix时间
版本2.8.4
var日期='2016年12月6日星期二10:51:47 GMT+0000(GMT)';
var unix=时刻(新日期)。格式('x');
console.log(unix)代码>
版本2.8.4-正常工作
您可以随时执行时刻(日期).toDate().getTime()
@adeneo谢谢!这确实有效,但我仍然想找出上面的错误。您是否使用版本2.8.4或更高版本,添加了x
选项,然后对其进行了测试,任何低于2.8.4的版本都会返回x
@adeneo如果您是正确的,我的版本已经过时了您可以随时执行时刻(日期).toDate().getTime()
@adeneo谢谢!这确实有效,但我仍然想找出上面的错误所在。您是否使用2.8.4版或更高版本,添加了x
选项,然后对其进行了测试,2.8.4版以下的任何版本都会返回x
@adeneo您是正确的,我的版本已过期弃用警告的首选解决方案是提供一个格式参数,而不是使用Date
对象构造函数。@MattJohnson-否,首选解决方案是传入一个有效的ISO字符串,但为了解决此问题,我使用本机日期构造函数来解析日期,这也不是一个很好的主意,因为实现可能不同,日期构造函数的唯一有效格式也应该是ISO字符串或多个参数。弃用警告的首选解决方案是提供格式参数,而不是使用Date
对象构造函数。@MattJohnson-否,首选的解决方案是传入一个有效的ISO字符串,但为了解决这个问题,我使用了原生日期构造函数来解析日期,这也不是一个好主意,因为实现可能会有所不同,并且日期构造函数的唯一有效格式也应该是ISO字符串或多个参数。