Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中格式化日期字符串_Javascript_Ajax_Date_Format - Fatal编程技术网

在Javascript中格式化日期字符串

在Javascript中格式化日期字符串,javascript,ajax,date,format,Javascript,Ajax,Date,Format,我有一个日期字符串,如下所示: 2012年2月9日星期四01:50:00 GMT+0000(GMT标准时间) 我基本上需要将其重新格式化为2个字符串(一个用于日期,一个用于时间) 日期格式需要为: m-d-Y(01-16-2012) 时间应该是 H:i(10:30) 我对Javascript相当陌生,所以请原谅我对此一无所知 任何帮助都将不胜感激 谢谢 我建议你看看。它是解析日期的优秀JavaScript库。(利用jQuery进行清洁度) var d=“Thu Feb 09 2012 01:5

我有一个日期字符串,如下所示:

2012年2月9日星期四01:50:00 GMT+0000(GMT标准时间)

我基本上需要将其重新格式化为2个字符串(一个用于日期,一个用于时间)

日期格式需要为:

m-d-Y(01-16-2012)

时间应该是

H:i(10:30)

我对Javascript相当陌生,所以请原谅我对此一无所知

任何帮助都将不胜感激


谢谢

我建议你看看。它是解析日期的优秀JavaScript库。(利用jQuery进行清洁度)


var d=“Thu Feb 09 2012 01:50:00 GMT+0000”;
var dout=Date.parse(d);
$(“#日期”).text(dout.toString('M-d-yyyy');
$(“#time”).text(dout.toString('HH:mm');

我建议您看看。它是解析日期的优秀JavaScript库。(利用jQuery进行清洁度)


var d=“Thu Feb 09 2012 01:50:00 GMT+0000”;
var dout=Date.parse(d);
$(“#日期”).text(dout.toString('M-d-yyyy');
$(“#time”).text(dout.toString('HH:mm');

我不确定内置对象,但可以这样做

使用Datejs的方法:

演示:

编辑:如果您的日期来自字符串,Datejs可以为您编辑

var str = "Thu Feb 09 2012 01:50:00 GMT+0000";
var date = Date.parse(str);
console.log(date.toString('MM-dd-yyyy')); // 02-09-2012
console.log(date.toString('HH:mm')); // 01:50

演示:

我不确定内置对象,但可以这样做

使用Datejs的方法:

演示:

编辑:如果您的日期来自字符串,Datejs可以为您编辑

var str = "Thu Feb 09 2012 01:50:00 GMT+0000";
var date = Date.parse(str);
console.log(date.toString('MM-dd-yyyy')); // 02-09-2012
console.log(date.toString('HH:mm')); // 01:50

演示:

您可能想看看

我相信DateJS扩展了本机JavaScript日期对象,可能不是您想要的。我非常确定MomentJS(它的灵感来自DateJS)不会扩展原生日期对象

查看文档for Moment.js,这应该可以帮你做到:


var foo=力矩(stringDateValue,'MM-DD-YYYY hh:MM')

您可能想看看

我相信DateJS扩展了本机JavaScript日期对象,可能不是您想要的。我非常确定MomentJS(它的灵感来自DateJS)不会扩展原生日期对象

查看文档for Moment.js,这应该可以帮你做到:


var foo=力矩(stringDateValue,'MM-DD-YYYY hh:MM')

您可以使用此功能

//example: dateFormater("D, M n, Y h:ft", new Date(), 2)
//results: a formated date two days from now -> Sunday, February 10, 2013 3:07pm
//today is Friday 2/8/13
function dateFormater (mod, nDate, addDay) {
    var daysFull = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    var daysAbbr = ["Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."];
    var monthsFull = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
    var monthsAbbr = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."];
    var moddt = "";
    var tmp;

    //add days to date (use -1 to subtract days
    if (typeof addDay !== 'undefined') nDate.setDate(nDate.getDate() + addDay);

    var dateMod = mod.split("");
    for (el in dateMod) {
        switch(dateMod[el]) {
            //Delimiters: ,=, /=/ " "=" " :=:
            case ",":
                moddt += dateMod[el];
                break;
            case "/":
                moddt += dateMod[el];
                break;
            case " ":
                moddt += dateMod[el];
                break;
            case ":":
                moddt += dateMod[el];
                break;

            //Month: M=January m=Jan. J=01 j=1
            case "M":
                moddt += monthsFull[nDate.getMonth()];
                break;
            case "m":
                moddt += monthsAbbr[nDate.getMonth()];
                break;
            case "J":
                tmp = nDate.getDate();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "j":
                tmp = nDate.getDate();
                moddt += tmp.toString();
                break;

            //Day: D=Monday d=Mon. N=01 n=1
            case "D":
                moddt += daysFull[nDate.getDay()];
                break;
            case "d":
                moddt += daysAbbr[nDate.getDay()];
                break;
            case "N":
                tmp = nDate.getDate();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "n":
                tmp = nDate.getDate();
                moddt += tmp.toString();
                break;

            //Year: Y=2013 y=13
            case "Y":
                moddt += nDate.getFullYear();
                break;
            case "y":
                tmp = nDate.getFullYear();
                tmp = tmp.toString();
                moddt += tmp.substr(2, 2);
                break;

            //Hour: H=08 h=8 Military: Z=14 z=01
            case "H":
                tmp = nDate.getHours();
                if (tmp > 12) tmp -= 12;
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                    break;
            case "h":
                tmp = nDate.getHours();
                if (tmp > 12) tmp -= 12;
                moddt += tmp.toString();
                break;
            case "Z":
                tmp = nDate.getHours();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "z":
                tmp = nDate.getHours();
                moddt += tmp.toString();
                break;

            //Minute: f=08
            case "f":
                tmp = nDate.getMinutes();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;

            //Seconds: s=08
            case "s":
                tmp = nDate.getSeconds();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;

            //AM/PM: T=AM/PM t=am/pm q=a/p
            case "T":
                if (nDate.getHours() > 11) {
                    moddt += "PM";
                } else {
                    moddt += "AM";
                }
                break;
            case "t":
                if (nDate.getHours() > 11) {
                    moddt += "pm";
                } else {
                    moddt += "am";
                }
                break;
            case "q":
                if (nDate.getHours() > 11) {
                    moddt += "p";
                } else {
                    moddt += "a";
                }
                break;
        }       
    }
    return moddt;
}

你可以使用这个功能

//example: dateFormater("D, M n, Y h:ft", new Date(), 2)
//results: a formated date two days from now -> Sunday, February 10, 2013 3:07pm
//today is Friday 2/8/13
function dateFormater (mod, nDate, addDay) {
    var daysFull = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    var daysAbbr = ["Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."];
    var monthsFull = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
    var monthsAbbr = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."];
    var moddt = "";
    var tmp;

    //add days to date (use -1 to subtract days
    if (typeof addDay !== 'undefined') nDate.setDate(nDate.getDate() + addDay);

    var dateMod = mod.split("");
    for (el in dateMod) {
        switch(dateMod[el]) {
            //Delimiters: ,=, /=/ " "=" " :=:
            case ",":
                moddt += dateMod[el];
                break;
            case "/":
                moddt += dateMod[el];
                break;
            case " ":
                moddt += dateMod[el];
                break;
            case ":":
                moddt += dateMod[el];
                break;

            //Month: M=January m=Jan. J=01 j=1
            case "M":
                moddt += monthsFull[nDate.getMonth()];
                break;
            case "m":
                moddt += monthsAbbr[nDate.getMonth()];
                break;
            case "J":
                tmp = nDate.getDate();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "j":
                tmp = nDate.getDate();
                moddt += tmp.toString();
                break;

            //Day: D=Monday d=Mon. N=01 n=1
            case "D":
                moddt += daysFull[nDate.getDay()];
                break;
            case "d":
                moddt += daysAbbr[nDate.getDay()];
                break;
            case "N":
                tmp = nDate.getDate();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "n":
                tmp = nDate.getDate();
                moddt += tmp.toString();
                break;

            //Year: Y=2013 y=13
            case "Y":
                moddt += nDate.getFullYear();
                break;
            case "y":
                tmp = nDate.getFullYear();
                tmp = tmp.toString();
                moddt += tmp.substr(2, 2);
                break;

            //Hour: H=08 h=8 Military: Z=14 z=01
            case "H":
                tmp = nDate.getHours();
                if (tmp > 12) tmp -= 12;
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                    break;
            case "h":
                tmp = nDate.getHours();
                if (tmp > 12) tmp -= 12;
                moddt += tmp.toString();
                break;
            case "Z":
                tmp = nDate.getHours();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;
            case "z":
                tmp = nDate.getHours();
                moddt += tmp.toString();
                break;

            //Minute: f=08
            case "f":
                tmp = nDate.getMinutes();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;

            //Seconds: s=08
            case "s":
                tmp = nDate.getSeconds();
                tmp = tmp.toString();
                if (tmp.length == 1) {
                    moddt += "0" + tmp;
                } else {
                    moddt += tmp;
                }
                break;

            //AM/PM: T=AM/PM t=am/pm q=a/p
            case "T":
                if (nDate.getHours() > 11) {
                    moddt += "PM";
                } else {
                    moddt += "AM";
                }
                break;
            case "t":
                if (nDate.getHours() > 11) {
                    moddt += "pm";
                } else {
                    moddt += "am";
                }
                break;
            case "q":
                if (nDate.getHours() > 11) {
                    moddt += "p";
                } else {
                    moddt += "a";
                }
                break;
        }       
    }
    return moddt;
}

这是一个新日期的polyfill()。格式(“MM-DD-YYYY HH:MM”)

它将以您想要的任何格式返回字符串


这里有一个新日期的polyfill()。格式(“MM-DD-YYYY HH:MM”)

它将以您想要的任何格式返回字符串


请使用此代码,我希望这对您有所帮助:

    var td = new Date();
    var weekday = new Array(7);
    weekday[0] = "Sunday";
    weekday[1] = "Monday";
    weekday[2] = "Tuesday";
    weekday[3] = "Wednesday";
    weekday[4] = "Thursday";
    weekday[5] = "Friday";
    weekday[6] = "Saturday";

    var month_name = new Array(12);
    month_name[0] = "January";
    month_name[1] = "February";
    month_name[2] = "March";
    month_name[3] = "April";
    month_name[4] = "May";
    month_name[5] = "June";
    month_name[6] = "July";
    month_name[7] = "August";
    month_name[8] = "September";
    month_name[9] = "October";
    month_name[10] = "November";
    month_name[11] = "December"; 

   document.getElementById("TodayDate").innerHTML = weekday[td.getDay()] + ", " + month_name[td.getMonth()] + " " + td.getDate() + ", " + td.getFullYear();
现在输出如下所示: 2014年5月22日,星期四

演示:

请使用此代码,我希望这对您有所帮助:

    var td = new Date();
    var weekday = new Array(7);
    weekday[0] = "Sunday";
    weekday[1] = "Monday";
    weekday[2] = "Tuesday";
    weekday[3] = "Wednesday";
    weekday[4] = "Thursday";
    weekday[5] = "Friday";
    weekday[6] = "Saturday";

    var month_name = new Array(12);
    month_name[0] = "January";
    month_name[1] = "February";
    month_name[2] = "March";
    month_name[3] = "April";
    month_name[4] = "May";
    month_name[5] = "June";
    month_name[6] = "July";
    month_name[7] = "August";
    month_name[8] = "September";
    month_name[9] = "October";
    month_name[10] = "November";
    month_name[11] = "December"; 

   document.getElementById("TodayDate").innerHTML = weekday[td.getDay()] + ", " + month_name[td.getMonth()] + " " + td.getDate() + ", " + td.getFullYear();
现在输出如下所示: 2014年5月22日,星期四

演示:

我的“H:i”和“m-d-Y”来自PHP,我不知道JS中的正确选项。对不起,这可能对你有用。我的“H:i”和“m-d-Y”来自PHP,我不知道JS中正确的。抱歉。这可能对您有用。唯一可能错误的是我没有生成日期字符串,如何将日期字符串传递给该函数?(我的日期字符串将存储为var)@DarkMantis:检查我的编辑,
Datejs
可以将字符串解析为
date
对象唯一可能的错误是我没有生成日期字符串,我如何将日期字符串传递给该函数?(我的日期字符串将存储为var)@DarkMantis:检查我的编辑,
Datejs
可以将字符串解析为
date
对象