我正在尝试使用以下JavaScript来分割日期
var dSplit = getDate.split("/");
var newDate = dSplit[2] + "-" + dSplit[0] + "-" + dSplit[1];
我得到以下输出
2014 12:00:00 AM-11-25
我需要的输出是
2014-11-25 12:00:00 AM
请帮助。
答案 0 :(得分:2)
一种可能的方法:
var getDate = '11/25/2014 12:00:00 AM';
var newDate = getDate.replace(/^\S+/, function(date) {
var d = date.split('/');
return d[2] + '-' + d[0] + '-' + d[1];
});
// 2014-11-25 12:00:00 AM
这种方法可以处理两个日期时间字符串(类似于' 11/25/2014 12:00:00 AM',就像你的答案一样)和日期字符串(例如' 11/25 / 2014&#39)。这里的关键是只处理字符串中的第一个非空白字符序列。
答案 1 :(得分:0)
您可以使用下一个函数将日期格式化为字符串:
function formatDate(date) {
var ans = date.getFullYear();
ans += "-" + (date.getMonth()+1);
ans += "-" + date.getDay();
ans += " " + date.getHours();
ans += ":" + date.getMinutes();
document.write (ans);
}
这样,即使用户的浏览器将日期转换为不同顺序的字符串(更长格式等),您也可以完全控制输出字符串。
答案 2 :(得分:0)
这可能会有所帮助,仅在函数中传递$ val
var dateString=$val.split(" ");
var dateformat=dateString[0].split("-");
var dateVal= dateformat[0] + "/" + dateformat[1] + "/" + dateformat[2];
$.date = function(dateObject) {
var d = new Date(dateObject);
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
var date = year + "-" + month + "-" + day;
return date;
};