Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在尝试格式化日期,但始终获取无效日期_Javascript_Node.js_Momentjs - Fatal编程技术网

Javascript 正在尝试格式化日期,但始终获取无效日期

Javascript 正在尝试格式化日期,但始终获取无效日期,javascript,node.js,momentjs,Javascript,Node.js,Momentjs,用户从jquery日期选择器中选择日期,其格式如下: DD.MM.YYYY 当用户提交表单时,我希望使用矩将日期输入转换为UTC。然而,无论我对输入做什么,我都会得到一个无效日期错误 例如,输入是 30.03.2014 我尝试格式化: console.log(moment(input).format('MM/DD/YY')); <-- prints Invalid Date 给我: { from: '01.03.2014', to: '30.03.2014' } { from: Sa

用户从jquery日期选择器中选择日期,其格式如下:

DD.MM.YYYY
当用户提交表单时,我希望使用矩将日期输入转换为UTC。然而,无论我对输入做什么,我都会得到一个
无效日期
错误

例如,输入是

30.03.2014
我尝试格式化:

console.log(moment(input).format('MM/DD/YY')); <-- prints Invalid Date
给我:

{ from: '01.03.2014', to: '30.03.2014' }
{ from: Sat Mar 01 2014 00:00:00 GMT+0100 (CET),
  to: Tue Apr 01 2014 11:00:00 GMT+0200 (CEST) }

考虑使用力矩的暗示支撑:

moment(input, 'DD.MM.YYYY')
此处提供了演示该方法的小提琴:

矩将假定本地时间输入,因此如果您在该时区之外工作,您可能希望将该时区附加到您的输入中。请参阅文档中的-特别是parseZone()和“字符串+格式”部分


在服务器端(节点)的情况下,由于服务器的时区,您可能会得到奇怪的结果。

谢谢,还有一些问题,请参见我的编辑。30.03转换为01.04我注意到,只要我在日期上添加一天或一小时,momentjs就会将其转换为CEST,而不是使用CET。@Peter,如果您不知道提示支持的格式怎么办?假设一个API正在发回一个日期,但它的格式可能会有所不同?那么,最好的方法是什么?Thanks@RichardBailey如果日期格式发生变化,没有什么能神奇地为您计算出所有的日期格式——例如,2016年3月8日可能是8月3日或3月8日。您需要创建自己的代码,根据您对API如何更改日期的了解来选择最佳提示。谁会在返回日期的格式发生变化的情况下创建API@彼得贝利我猜是个白痴-谢谢你的回答1
{ from: '01.03.2014', to: '30.03.2014' }
{ from: Sat Mar 01 2014 00:00:00 GMT+0100 (CET),
  to: Tue Apr 01 2014 11:00:00 GMT+0200 (CEST) }
moment(input, 'DD.MM.YYYY')