时刻 js 函数和 javascript 日期函数之间的区别

difference between moment js functions and javascript date functions

实际上我正在考虑在我的新 project.because 中使用 moment.js 我的新项目是一个员工工作 sheet 应用程序。

我阅读了 moment.js 文档。

我们可以在 moment.js

中使用以下代码获取当前日期
moment().valueOf();

我们可以使用 javascript

获取当前日期
new Date()

The both are giving same result. with same speed (so no performance issue )

also formatting, get methods and set methods are already has javascript. then why i go to moment.js?

请给我一些关于差异的解释。让我知道哪一个最适合我的新项目。

显然,我建议使用 moment.js。它是最流行的日期解析库之一。

moment.js 有各种易于使用的内置功能。

它将节省您的开发时间。

处理和解析日期非常容易。

Moment.js在你想操作Dates的时候很方便。

moment 的例子如下

moment()
  .add(7, 'days')
  .subtract(1, 'months')
  .year(2009)
  .hours(0)
  .minutes(0)
  .seconds(0);

moment().endOf('day').fromNow();  

但如果您只需要格式化、获取和设置,您可能不需要库。

Moment.js

一个轻量级 JavaScript 日期库,用于解析、验证、操作和格式化日期。

我们使用 Moment.js 的原因 - 今天的许多 Web 应用程序,尤其是社交应用程序,都处理时间的概念。它们通常用于对事件或帖子进行排序,或者标记某事发生的时刻。您可以考虑您的 Twitter 时间轴或 GitHub 新闻提要。 JavaScript 有一个 Date 对象,您可以使用它来操作日期,但它通常没有您在 Web 应用程序中需要的所有内容

Moment.js 库不仅可以从字符串中解析日期,还可以用于验证、操作和格式化日期。它支持国际化,这对日期非常重要,还支持像 "Last Friday at 9:48" 这样的人性化格式。

这些当然都是好东西,但今天的主题是日期解析,让我们来看看它是如何工作的。

Moment.js 为 Date 对象创建包装而不是扩展它。要引用包装器对象,只需调用 moment() getter 函数即可。 Moment 原型通过 moment.fn 属性 公开,因此如果您愿意,可以向其中添加自己的功能。

感谢

Managing Dates and Times Using Moment.js

A Roundup of Popular JavaScript Date Parsing Libraries: Moment.js

Moment.js 对加、减、高级格式化、查找两天之间的差异有很好的支持。它还具有国际化支持,因此您可以非常轻松地转换为任何语言。

就像任何图书馆都有帮助某些事情并使其易于工作的目的一样。 momemt.js 使处理日期变得轻松。

考虑时区和格式等因素处理日期非常困难,但moment.js使处理日期变得轻而易举。

阅读更多here

这取决于你想做什么。

MomentJS 提供了一个 API,它几乎包装了原生 Date 对象,这就是你调用 .valueOf 的原因。 new Date 只是给你原生的 Date 对象(要使用 moment 操作它,你需要将它传递给它的构造函数)。

我会说一般的经验法则:

  • 如果您要创建在网站上使用的日期或作为某种 UI 元素,请使用 Moment。
  • 如果要将日期存储回服务层,请使用日期。
  • 如果您正在使用一种操纵日期的方法,请使用 Moment;如果需要将其传递给另一个服务层,请调用 .valueOf 并将其保存。

Moment 非常适合用户体验,但不是 "standard"(因此不适合 serialization/storage)。