使用javascript分割日期

时间:2014-11-26 06:30:42

标签: javascript

我正在尝试使用以下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

请帮助。

3 个答案:

答案 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;
};