如何解析日期字符串从数据库没有时间移位
How to parse date string from database without time shift?
我从数据库中获得2016-07-13T00:00:00.000Z
字符串,并将其转换为MM/DD/YYYY格式与moment.js像这样:
result = moment('2016-07-13T00:00:00.000Z').format('MM/DD/YYYY');
打印07/12/2016,但我期待07/13/2016。Linux本地时区为America/New_York。date
命令打印Mon Jul 4 04:28:19 EDT 2016
您拥有的日期是UTC,由末尾的z
表示。
当您使用默认的时刻构造函数moment()
时,它将您传递给它的时间从指定的偏移量(在本例中为UTC)转换为机器的本地时间。这就是为什么你的约会改变了。因为这是一个UTC日期,为了保持它完全相同,你可以使用moment.utc()
:
moment.utc('2016-07-13T00:00:00.000Z').format('MM/DD/YYYY');
"07/13/2016"
或者,parseZone也可以工作:
moment.parseZone('2016-07-13T00:00:00.000Z').format('MM/DD/YYYY');
"07/13/2016"
有关当前所有构造函数的更多信息,请参阅解析指南或者这篇博文
您应该使用momentjs时区:http://momentjs.com/timezone/
yourdate = moment.tz("2016-07-13T00:00:00.000Z", "America/New_York");
alert(yourdate.format('MM/DD/YYYY'));
这将在输出中给出正确的日期。
相关文章:
- 如何迁移单个 (php||JavaScript||..)文件在生产中没有时间限制
- 测试未在业力/茉莉花/要求上运行.js“*lib*没有时间戳!”错误
- 在 JavaScript 中保存“没有”时间的日期
- 没有时间的Javascript日期方法
- Javascript-比较没有时间的日期
- 如何在没有时间的情况下获得当前日期
- 如何发送表单值到电子邮件没有任何数据库和任何服务器安装在托管服务器上
- 转换任何日期插入到ISO格式没有时间戳在JavaScript
- jQuery追加没有时间戳参数
- 没有时间的过去数字日期
- 在javascript中比较没有时间戳的ISO日期
- 事件单击时没有运行数据库
- 没有时间的Moment.calendar()
- 当没有从数据库返回结果时,这个javascript是否会触发?
- 如果没有向数据库发送用户输入,是否存在注入风险?
- 格式化jquery日期没有时间
- 如何在现有的时刻对象中获得没有时间的日期
- 为什么我得到'/base/src/tests/core/types.tests没有时间戳!'
- innerHTML没有显示数据库中的html
- 如何解析日期字符串从数据库没有时间移位