首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Moment.js -格式化现有时间?

问Moment.js -格式化现有时间?
EN

Stack Overflow用户
提问于 2018-02-15 11:41:09
回答 1查看 2.2K关注 0票数 3

我使用moment.js处理node.js中的日期和时间。到目前为止,我已经能够用它做我需要的一切,但是我在格式化时间方面遇到了问题。

下面是一个场景:

用户输入数据(一个整数),该数据记录在数据库中,同时输入日期(格式为YYYY DD)和时间(格式为HH:MM:SS)。

下次用户输入数据时,将读取前一个值并比较(较高、较低或等于)新值。不过,我还想显示一条消息,例如“上次提交数据的时间是在日期”。在这种情况下,我希望时间以不同的格式显示(例如"h:mm a“,即"12:34 pm")。

是否可以使用矩来格式化现有日期,或者仅返回当前日期/时间?在我的代码中,我有以下函数:

代码语言:javascript
复制
function userFormattedTime(time)
{
    let uTime = moment(time).format('h:mm a');
    return uTime
}

但是,当我调用这个函数并将时间传递给它(从数据库获取)时,我会得到“无效时间”。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 11:48:56

您可以将字符串从字符串解析回矩对象,然后可以使用矩将日期重新格式化为任何其他格式。

我想您所做的错误并不是说明您要将其发回的时刻,即它不理解您所提供的格式化字符串。

请注意HH:mm:ss的格式值,这在不同情况下是不同的。情况很重要,应该设置为与您的要求相匹配。https://momentjs.com/docs/#/parsing/

代码语言:javascript
复制
// Original date time string
var rawDateTime = "02-02-2018 10:20:30";

// convert string to a moment object
var originalDate = moment(rawDateTime, "MM-DD-YYYY HH:mm:ss");

// Format a new string from the moment object
var newFormattedString = originalDate.format('h:mm a');

为了计算矩量的差异,可以使用diff函数。https://momentjs.com/docs/#/displaying/difference/

代码语言:javascript
复制
// Two different dates
var dateOne = moment("02-02-2018 10:20:30", "MM-DD-YYYY HH:mm:ss");
var dateTwo = moment("04-04-2018 10:20:30", "MM-DD-YYYY HH:mm:ss");

// Get the difference of the two dates
var diff = dateOne.diff(dateTwo);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48806399

复制
相关文章

相似问题

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