首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >moment.js和不推荐的警告。时间戳到矩日期对象

moment.js和不推荐的警告。时间戳到矩日期对象
EN

Stack Overflow用户
提问于 2016-03-20 08:10:51
回答 1查看 2.2K关注 0票数 1

我在这里读过许多关于类似问题的帖子,但没有一个能解决我的问题。

我操作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对象中,以便根据我的需要从它中提取日期日期?

编辑:我就是这样存储时间戳的。所以我需要从这里取回。

代码语言:javascript
复制
let timeStamp = Moment(state[_Date])
                           .add({ hour: state[AMPM] === 'PM'
                                      ? +state[Hour] + 12
                                      : state[Hour] ,
                                  minute: state[Min] }).format('x')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-20 13:53:16

X标记以秒表示unix时间戳,x令牌表示unix毫秒时间戳(偏移)。您似乎有一个毫秒时间戳,因此您可以通过执行以下操作来从中获得片刻时间:

代码语言:javascript
复制
var a = moment('1458586740000', 'x')

它的工作也没有‘以及:

代码语言:javascript
复制
var a = moment(1458586740000, 'x')

您也不能指定x,它应该可以工作:

代码语言:javascript
复制
moment(1458586740000)

因为您有unix偏移量(毫秒),而不是unix时间戳(秒),所以moment.unix不是您想要的。

然后,您可以执行以下操作:

代码语言:javascript
复制
a.format()
"2016-03-21T13:59:00-05:00"

或者,您可以使用这里列出的任何其他格式标记输出任何您想要的结果:http://momentjs.com/docs/#/displaying/format/

根据您提供的代码,我认为您可能遇到了问题,因为时间戳存储为字符串(in '')。解析为字符串将导致无效的日期错误,因为它试图与ISO 8601格式匹配,但失败。指定'x‘令牌将导致它假定unix偏移量并正确工作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36111534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档