将dd.mm.yyyy格式转换为yyyy-mm-dd

ant*_*ant 7 javascript

如何在JavaScript中将dd.mm.yyyy格式日期转换为yyyy-mm-dd格式?

这是一个例子:

30.01.2010
to 
2010-01-30
Run Code Online (Sandbox Code Playgroud)

意思是将dmY转换为Ymd.我知道如何在PHP中执行此操作,但我需要在JavaScript中使用它.

ash*_*int 18

你可以很简单地做到这一点.只需将欧洲日期拆分为一个数组,然后将其反转,然后用破折号加入它.

var euro_date = '30.01.2010';
euro_date = euro_date.split('.');
var us_date = euro_date.reverse().join('-');
Run Code Online (Sandbox Code Playgroud)


Mat*_*hen 8

Datejs可以解析它.代码位于http://datejs.googlecode.com/files/date.js

编辑:这是不是安全离开date.js自动确定格式字符串.我错了一天<= 12(duh)没有测试.你应该使用:

Date.parseExact('09.01.2010', 'd.M.yyyy').toString('yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)

要么

Date.parseExact('09.01.2010', 'dd.MM.yyyy').toString('yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)

取决于您是否要允许单位数天.


Tat*_*nen 7

如果你只需要这样做,Datejs有点臃肿.您可以使用split()并连接结果:

var eu_date = '30.01.2010';
var parts = eu_date.split('.');
var us_date = parts[2]+'-'+parts[1]+'-'+parts[0];
Run Code Online (Sandbox Code Playgroud)

对于不需要日期逻辑的这类转换,通常最聪明的就是使用字符串操作工具.