使用JavaScript获取特定的日期格式

时间:2013-10-03 10:22:28

标签: javascript

我正在尝试将下面的数据格式更改为其他形式。

这是date我正在

var datetime =Thu Oct 03 2013 13:41:06 GMT+0530 (IST)

如何以date

格式获取03-10-2013 13:41 PM

5 个答案:

答案 0 :(得分:2)

为什么不编写一个将日期字符串拆分的短函数。然后你可以按照自己喜欢的顺序将它们重新组合在一起。

这是一个简单的例子:

function tidyDate(theDate) {
    // split up the string into parts separated by colons or whitespace
    var parts = theDate.toString().split(/[:\s]+/);
    // Get the number of the month - Don't forget that it's zero-indexed
    var month = theDate.getMonth() + 1;
    // Let's say that it's morning
    var AMPM = " AM";
    // But we should check whether it's after noon
    if (parseInt(parts[4]) >= 12){
        AMPM = " PM";
    }
    return parts[2] + "-" +  month + "-" + parts[3] + " " + parts[4] + ":" + parts[5] + AMPM;
}    
tidyDate(new Date());

返回:

03-10-2013 13:41 PM

答案 1 :(得分:1)

您看到的格式是将日期转换为字符串时使用的JS详细版本。如果您想自己指定格式,则需要分解日期的各个部分,并使用各种日期方法将它们连接在一起,例如date.getYear() + '/' + date.getMonth()等。

或者,您可以使用date.js之类的库来执行此操作,例如:

myDate.toString("dd-mm-yyyy")

Further reading on toString in date.js

答案 2 :(得分:1)

如果您想在纯JS 中进行,那么您必须执行类似

的操作
var ms = new Date("Thu Oct 03 2013 13:41:06 GMT+0530 (IST)");
var curr_date = (ms.getDate()< 10) ? "0" + ms.getDate() : ms.getDate();
var curr_month = (ms.getMonth()< 9) ? "0" + (ms.getMonth()+1) : ms.getMonth()+1;
var curr_year = ms.getFullYear();
var hours = ms.getHours();
var min = ms.getMinutes();
suf = (hours >= 12)? 'pm' : 'am';
hours = hours % 12;
alert(curr_date + "-" + curr_month + "-" + curr_year + "  " + hours + ":" + min + " " + suf);

DEMO

简单来说,您可以尝试使用以下库

moment.js

moment().format('DD-MM-YYYY, h:mm a');

答案 3 :(得分:0)

试试此代码

function dateFormat()
{
    var d = new Date();
    date = d.getDate();
    date = date < 10 ? "0"+date : date;
    mon = d.getMonth()+1;
    mon = mon < 10 ? "0"+mon : mon;
    year = d.getFullYear()
    return (date+"/"+mon+"/"+year);
}

让我知道..

答案 4 :(得分:0)

张贴说明会对您的事业有所帮助.. http://jsbin.com/OCikUZO/1/edit

function convertUTCDateToLocalDate(date) {
  alert('hi');
    var newDate = new Date(date.getTime());

    var offset = date.getTimezoneOffset() / 60;
    var hours = date.getHours();

    newDate.setHours(hours - offset);

    return newDate;   
}

var datetime = new Date("January 02, 2012 22:00:00 GMT+0530");
var date = convertUTCDateToLocalDate(new Date(datetime));
var now = date.toLocaleString();