日期数学与时间数学
编辑教程日期数学与时间数学
时间数学和日期数学之间存在逻辑上的差异。
在Moment.js中,时间数学假设为线性时间标度,只是将基于UTC的时间戳增加或减少所提供的时间单位。
日期数学不使用线性时间标度,而是增加或减少日历上的日期。这是因为一天,每月或一年中的时间量是可变的。
例如,由于夏令时的过渡,一天的长度可能在23到25小时之间。
当然,月份的天数会有所不同,并且由于leap年,年份的长度也会有所不同。日期数学可能会导致一些有趣的情况。
由于夏令时,一天可能不等于24小时:
//date math
moment('2016-03-12 13:00:00').add(1, 'day').format('LLL')
"March 13, 2016 1:00 PM"
//time math
moment('2016-03-12 13:00:00').add(24, 'hours').format('LLL')
"March 13, 2016 2:00 PM"
由于leap年,一年可能不等于365天:
moment('2016-01-01').add(1, 'year').format('LL')
"January 1, 2017"
moment('2016-01-01').add(365, 'day').format('LL')
"December 31, 2016"
由于日期数学中持续时间的可变性,Moment的API官方不支持在几天或更长时间里增加或减去十进制值。
Moment.js将接受十进制值,并通过四舍五入到最接近的整数来尽力处理它们。
从2.12.0开始,十进制的日和月值使用绝对值/舍入值转换为整数。这意味着1.5舍入为2,-1.5舍入为-2。
moment().add(1.5, 'days') == moment().add(2, 'days')
moment().add(-1.5, 'days') == moment().add(-2, 'days') == moment().subtract(1.5, 'days') == moment().subtract(2, 'days')
moment().add(2.3, 'months') == moment().add(2, 'months')
moment().add(-2.3, 'months') == moment().add(-2, 'months') == moment().subtract(2.3, 'months') == moment().subtract(2, 'months')
将季度和年份转换为月份,然后将绝对值/四舍五入。
moment().add(1.5, 'years') == moment().add(18, 'months')
moment().add(.8, 'years') == moment().add(9.6, 'months') == moment().add(10, 'months')
moment().add(1.5, 'quarters') == moment().add(4.5, 'months') == moment().add(5, 'months')
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟