Jos*_*ong 5 javascript date momentjs
如何使用Moment.js格式化ISO日期BC?
moment("-700-01-01").year(); // 700 (WRONG)
moment("-0700-01-01").year(); // 700 (WRONG)
moment("-000700-01-01").year(); // -700 (RIGHT)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,一年有6位数的符号工作.这是"正确"的方式吗?为什么记法不像"-700-01-01"工作?
这不是 Moment.js 特有的问题;如果您尝试Date()使用正在使用的字符串初始化对象,也会发生同样的情况。如果您Date()首先将其创建为对象并使用setYear()它手动分配年份,则接受日期为-700:
var date = new Date();
date.setYear(-700);
moment(date).year();
Run Code Online (Sandbox Code Playgroud)
var date = new Date();
date.setYear(-700);
moment(date).year();
Run Code Online (Sandbox Code Playgroud)
然而,正如Niels Keurentjes 指出的那样,这么远的日期计算变得相当复杂,可能根本不可靠。
如果你想要“-700-01-01”,你可以分别配置年、月和日:
date.setYear(-700);
date.setMonth(0);
date.setDate(1);
console.log(date);
Run Code Online (Sandbox Code Playgroud)
> -700
Run Code Online (Sandbox Code Playgroud)
至于公元前 700 年第一个月的第一天是否真的是星期五……你必须自己查一查。
| 归档时间: |
|
| 查看次数: |
2431 次 |
| 最近记录: |