我需要转换此日期格式的帮助。
这是我从服务器收到的日期字符串,它可以是 M/DD/YYYY
或 M/D/YYYY
或 MM/D/YYYY
或 MM/DD/YYYY
。
编辑:对不起,我的错。在上面的格式之后,还有额外的时间字符串 HH:MM:SS AM
所以我收到的完整字符串将是 M/D/YYYY HH:MM:SS AM
我现在的问题是我使用 String.substring(x, y) 来提取日期、月份和年份。
到目前为止,我只设法确定了“/”的位置,但我仍在考虑如何在子字符串方法中使用它。
var separators = [];
for(var b = 0, c = String.length; b < c; b++){
if(String[b] === '/'){
separators.push(b);
}
}
我很困惑如何动态提取日期和月份,然后在单个数字前面填充“0”,所以我很感激任何帮助。提前谢谢你。
最佳答案
var dt = "10/6/2012 12:34:56 AM".split(' ');
dt = dt[0].split('/');
// dt[0] => month
// dt[1] => day
// dt[2] => year
它适用于上述任何格式 - M/DD/YYYY
或 M/D/YYYY
或 MM/D/YYYY
或 MM/DD/YYYY
-(比使用子字符串更容易)
然后像这样使用 slice()
为月和日添加一个 pad
dt[0] = ("0"+ dt[0]).slice(-2);
dt[1] = ("0"+ dt[1]).slice(-2);
要获得填充的数据,只需重新加入数组部分
dt = dt.join('/');
示例 jsbin:http://jsbin.com/exodos/2/edit
关于javascript - 需要帮助从此日期格式中提取日期、月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511550/