我在这里读过许多关于类似问题的帖子,但没有一个能解决我的问题。
我操作moment.js date对象,然后将其存储为时间戳。
但是,当我再次尝试读到那个时间戳时,我会得到一个不推荐的警告。
“”反对警告:建筑恢复到js日期的时刻。这是不鼓励的,并将在即将推出的主要版本中删除。请向https://github.com/moment/moment/issues/1407查询更多信息。“
我尝试过toDate(),format(),矩(myTimeStamp,'ddd,DD MMM :mm:ss‘);->所有这些都生成警告.
例如,我的时间戳将如下所示:
const时间戳=‘14585867400000’
当我把它读回来,试图解析出月/日/年,然后小时/分钟,上午/下午,等等.我需要把这个时间戳放到moment.js对象中。没什么对我有用的。任何想法。
我如何将这个时间戳:'1458586740000',放到一个moment.js对象中,以便根据我的需要从它中提取日期日期?
编辑:我就是这样存储时间戳的。所以我需要从这里取回。
let timeStamp = Moment(state[_Date])
.add({ hour: state[AMPM] === 'PM'
? +state[Hour] + 12
: state[Hour] ,
minute: state[Min] }).format('x')发布于 2016-03-20 13:53:16
X标记以秒表示unix时间戳,x令牌表示unix毫秒时间戳(偏移)。您似乎有一个毫秒时间戳,因此您可以通过执行以下操作来从中获得片刻时间:
var a = moment('1458586740000', 'x')它的工作也没有‘以及:
var a = moment(1458586740000, 'x')您也不能指定x,它应该可以工作:
moment(1458586740000)因为您有unix偏移量(毫秒),而不是unix时间戳(秒),所以moment.unix不是您想要的。
然后,您可以执行以下操作:
a.format()
"2016-03-21T13:59:00-05:00"或者,您可以使用这里列出的任何其他格式标记输出任何您想要的结果:http://momentjs.com/docs/#/displaying/format/
根据您提供的代码,我认为您可能遇到了问题,因为时间戳存储为字符串(in '')。解析为字符串将导致无效的日期错误,因为它试图与ISO 8601格式匹配,但失败。指定'x‘令牌将导致它假定unix偏移量并正确工作。
https://stackoverflow.com/questions/36111534
复制相似问题