JavaScript实现Java.util.Calendar API

3

是否有JavaScript等效实现java.util.Calendar API的方法?使用它可以方便地进行日期操作。


几年前,我不得不使用Java Calendar API构建一个复杂的调度系统。我必须承认它很强大、复杂,但主要是非常麻烦。对于普通的日期/时间计算来说,它太过复杂了。我简直无法相信其他人正在寻找不同语言的类似API。 - Jesse Webb
2个回答

3

尽管不是完全准确的,但http://momentjs.com/在许多方面都更好!如果可以选择,我会选择这个。

日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a');
moment().format('dddd');
moment().format("MMM Do YY");
moment().format('YYYY [escaped] YYYY');
moment().format();

September 23rd 2012, 1:29:09 am
Sunday
Sep 23rd 12
2012 escaped 2012
2012-09-23T01:29:09+01:00

时间过去了

moment("20111031", "YYYYMMDD").fromNow();
moment("20120620", "YYYYMMDD").fromNow();
moment().startOf('day').fromNow();
moment().endOf('day').fromNow();
moment().startOf('hour').fromNow();

11 months ago
3 months ago
an hour ago
in a day
28 minutes ago

日历时间

moment().subtract('days', 10).calendar();
moment().subtract('days', 6).calendar();
moment().subtract('days', 3).calendar();
moment().subtract('days', 1).calendar();
moment().calendar();
moment().add('days', 1).calendar();
moment().add('days', 3).calendar();
moment().add('days', 10).calendar();

09/12/2012
last Sunday at 12:06 PM
last Wednesday at 12:06 PM
Yesterday at 12:06 PM
Today at 12:06 PM
Tomorrow at 12:06 PM
Tuesday at 12:06 PM

国际化

moment().format('L');
moment().format('LL');
moment().format('LLL');
moment().format('LLLL');

09/22/2012
September 22 2012
September 22 2012 12:07 PM
Saturday, September 22 2012 12:07 PM

1

这是一个日历小部件,而不是用于执行涉及日期和时间计算的库。 - Mike Samuel
@Mike Samuel - 同意,添加了一个链接,其中有许多使用js处理日期的答案。 - niksvp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接