我有这样的格式

2017-02-14T11:30:00


我想转换成

Fri Feb 14 11:30 PM


是的,我不知道是星期几,所以我输入“ Fri”,然后那个PM应该是AM

使用Javascript,我以前传递的是完全不同的数据,因此此功能需要更多修改

var getTravelDateFormatted = function () {
    // Example  Mon Jan 23
    return function (str) {
        var daysNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
            monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
            d = new Date(str),
            day = d.getDate(),
            month = monthNames[d.getMonth()],
            year = d.getFullYear().toString().substr(2, 2),
            dayName = daysNames[d.getDay()];

        //return day + '-' + month + '-' + year + ' (' + dayName + ')';
        return dayName + ' ' + month + ' ' + day;
    };
};


关于如何做到这一点的想法?

最佳答案

var getTravelDateFormatted = function() {
    // Example  Mon Jan 23
    return function(str) {
        var daysNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
          monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
          d = new Date(str),
          day = d.getDate(),
          month = monthNames[d.getMonth()],
          year = d.getFullYear().toString().substr(2, 2),
          hours = d.getHours(),
          minutes = d.getMinutes(),
          dayName = daysNames[d.getDay()];

        //return day + '-' + month + '-' + year + ' (' + dayName + ')';
        return hours > 12 ? (dayName + ' ' + month + ' ' + day + ' ' + (hours - 12) + ":" + minutes + " PM"):
          (dayName + ' ' + month + ' ' + day + ' ' + hours + ":" + minutes + " AM");
          };
        }();


        var formatedDate = getTravelDateFormatted('2017-02-14T11:30:00');
        console.log(formatedDate);

10-02 06:08
查看更多