Mik*_*ail 3 javascript parsing date momentjs
我正在使用moment.parseString + Format方法
当我打电话给moment("=min(C2:C4)", 'DD/MM/YYYY')它评估有效日期
Sun Apr 02 2017 00:00:00 GMT + 0300(FLE白天时间)
我无法理解片刻如何解析"=min(C2:C4)"有效日期.只是想知道,有人可以解释.
来自Moment.js文档:
Moment的解析器非常宽容,这可能会导致意外/意外行为.
简短的回答:由于您预期的宽松格式,时刻会分析2当天和4月份.
答案很长:
如果在控制台中运行命令并查看结果,则可以更轻松地将其可视化.我建议先看一下,然后我将解释下面的重要部分.
您已将字符串指定为"=min(C2:C4)"格式为DD/MM/YYYY,因此,当时正在查找该常规格式的日期:一天后跟一个月后跟一年.
moment._pf.unusedTokens[]这是一个数组,有一个值'YYYY'; 解析器找不到一年,但确实发现了一天一个月...嗯.
moment._pf.unusedInput[]这告诉我们更多 - 一个包含三个值的数组:
1. '=min(C'
2. ':C'
3. ')'
Run Code Online (Sandbox Code Playgroud)
看起来像是时刻找到了2和4日子和月份匹配.您将在moment._pf.parsedDateParts数组中找到这些值.
所以,这应该解释为什么日期是April 2, 2017.3个月(这是最终确定的月份,而不是解析的实际值.月份为零索引,因此它回到"4")和2天.没有给出年份,所以时刻假定它是当前年份.没有给出时间,因此它假定了一天的开始.
如果您不想要这种行为,则应将第3个/最后一个参数传递为true(严格匹配).有关详细信息,请查看http://momentjs.com/docs/#/parsing/string-format/.
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |