我使用2.22.1设置日期格式。
当我输入来自日期选择器的日期时,moment会将日期放回某一天。例如,当我尝试以以下方式格式化一个日期时:
示例1:
const day = new Date(value).getDate();
const month = new Date(value).getMonth();
const fullYear = new Date(value).getFullYear();
console.log('day', day); // 7
console.log('month', month); // 5
console.log('fullYear', fullYear); //2018
格式化功能:
moment.utc(new Date(month + ' ' + day + ' ' + fullYear), 'MM-DD-YYYY').format('DD-MM-YY')
输出:06-05-18
预计:07-05-18
示例2:
输入:2018年5月31日Thu 00:00:00 GMT+0100(GMT夏令时)
格式化功能:
moment.utc(new Date(value)).format('DD-MM-YY')
产出:30-05-18预期:31-05-18
moment.utc
将输入转换为通用时间。
您运行的New Date(...)
输入基于GMT+1。
如果您考虑到这一点,它完全有意义。
您的输出是30-05-18
,因为这是前一天的11点/23点。
这(如何)实际上会起作用:
moment('05-06-2018', 'MM-DD-YYYY').format('DD-MM-YY')
// alternatively (and preferrably) this:
moment.utc('05-06-2018', 'MM-DD-YYYY').format('DD-MM-YY')
和输出:“06-05-18”
因为在本例中,非utc版本不需要输入时间。
moment.js存在的原因之一,是要在代码中全部删除date
。
(请记住,date
现在已经有了很大的改进。DateTimeFormat是一个游戏规则的改变者)
请阅读有关如何正确使用momentjs的文档。
编辑:如果您想用它处理400000个日期,我建议您改用regexp
、.split
、.exec
、.slice
或date
。
(我可以这样说,因为我用javascript生成器和服务工作者编写了一个客户端日志解析器,用于统计反作弊分析)
我确实建议您使用这些东西来提高您的知识。
使用Moment.js我无法将正确的矩对象转换为具有时区的日期对象。我找不到正确的日期。 例子:
问题内容: 我刚开始用Java编写代码,我正努力设置DelayQueue, 我想这样 我只是想学习所有的基础知识,并且从api上学到了内容,似乎无法掌握它。 提前致谢 问题答案: 该直到一定的延时已经过期保持要素内部。元素必须实现接口。 例如,我创建了一个扩展Delayed接口的类。这将实现compareTo和getDelay()方法 结果:
问题内容: 我试图在加载器图标和成功的html之间添加一个小的延迟(2秒)。 我尝试使用的是setTimeout并放入延迟号。这是行不通的,所以我希望您能告诉我正确的方法是什么。 我的ajax代码: 现在,它运行得非常快。希望有人能帮忙。 问题答案: 应该用在里面 。
我的日期格式为。如何使用JavaScript将其转换为? 上面的代码给了我相同的日期格式,。我该怎么解决这个?
我如何从moment.js获得ISO 8601?