Parse 'Date & Time' string in Javascript which are of custom format

自作多情 提交于 2019-12-18 03:17:28

问题


I have to parse a date and time string of format "2015-01-16 22:15:00". I want to parse this into JavaScript Date Object. Any help on this?

I tried some jquery plugins, moment.js, date.js, xdate.js. Still no luck.


回答1:


With moment.js you can create a moment object using the String+Format constructor:

var momentDate = moment('2015-01-16 22:15:00', 'YYYY-MM-DD HH:mm:ss');

Then, you can convert it to JavaScript Date Object using toDate() method:

var jsDate = momentDate.toDate();



回答2:


A better solution, I am now using date.js - https://code.google.com/p/datejs/

I included the script in my html page as this -

<script type="text/javascript" src="path/to/date.js"></script>

Then I simply parsed the date string "2015-01-16 22:15:00" with specifying the format as,

var dateString = "2015-01-16 22:15:00";
var date = Date.parse(dateString, "yyyy-MM-dd HH:mm:ss");



回答3:


new Date("2015-01-16T22:15:00")

See Date.parse().

The string must be in the ISO-8601 format. If you want to parse other formats use moment.js.

moment("2015-01-16 22:15:00").toDate();



回答4:


I was trying to use moment.js guys. But since I was having this error, "ReferenceError: moment is not defined", I had to skip it for now. I am using an temporary workaround for now.

function parseDate(dateString) {
    var dateTime = dateString.split(" ");
    var dateOnly = dateTime[0];
    var timeOnly = dateTime[1];

    var temp = dateOnly + "T" + timeOnly;
    return new Date(temp);
}



回答5:


If you are sure it's in the desired format and don't need to error check, you can parse it manually using split (and optionally replace). I needed to do something similar in my project (MM/DD/YYYY HH:mm:ss:sss) and modified my solution to fit your format. Notice the subtraction of 1 in the month.

var str = "2015-01-16 22:15:00"; 
//Replace dashes and spaces with : and then split on :
var strDate = str.replace(/-/g,":").replace(/ /g,":").split(":");
var aDate = new Date(strDate[0], strDate[1]-1, strDate[2], strDate[3], strDate[4], strDate[5]) ; 


来源:https://stackoverflow.com/questions/28002261/parse-date-time-string-in-javascript-which-are-of-custom-format

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!