javascript - 解析 utc 时,从现在开始的时刻在 5 小时后返回

标签 javascript date datetime momentjs

尝试使用 moment.js fromNow 及时从服务器格式化 utc 时间,但在某些情况下,我会得到“5 小时内”。

来自服务器的时间戳 - 2017-11-29T15:03:21

var utcTime = new Date(timestamp);
var timeAgo = moment(utcTime).fromNow();    
console.log(timeAgo)

所有日期都过去了,所以我该如何解决这个问题,这样我在几个小时内就没有时间了?

最佳答案

如果您希望将 "2017-11-29T15:03:21"视为 UTC,您可以使用 moment 的 utc 方法或只在字符串中附加一个 "Z"。由于您已经在使用 moment.js,因此使用 moment.js 解析它比使用内置解析器更可靠:

var timestamp = "2017-11-30T00:20:48";

// Append Z
console.log(moment(timestamp + 'Z').fromNow());

// Use .utc
console.log(moment.utc(timestamp).fromNow());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.3/moment.min.js"></script>

关于javascript - 解析 utc 时,从现在开始的时刻在 5 小时后返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562904/

相关文章:

perl - 将旧的 Unix 日期转换为 Perl 并进行比较

mysql - 高效地从 MySQL 查找日期范围

excel vba range.find找不到日期

sql - 没有日期函数的 SQL 日期有什么用?

javascript - Yahoo YUI DataTable.DataSource,无论如何简单更新?

javascript - 当用户发送 GET 请求时,我如何等待数据直到从 TCP 服务器在 Node.js 中接收到数据?

php - 日期时间不会在数据库中更新

c# - 在C#中将字符串解析为 "year-month-day"格式

javascript - Typescript/Angular 中的动态谷歌可视化

javascript - 使用 array.push() 时,Ng-repeat 似乎没有为每个项目创建单独的范围