Javascript convert yyyy-mm-dd hh:mm:ss like newDat

2019-04-16 02:36发布

问题:

I want to use Date Object Methods (getHoures(), getSeconds()...) on new Date("string") (string = month day, year hh:mm:ss) but my date format is like this : yyyy-mm-dd hh:mm:ss

So I need to convert "yyyy-mm-dd hh:mm:ss" to "("day, month date year hh:mm:ss")"

How can i do please ?

Thx !

回答1:

Actually, you don't need to perform any such conversion.

The string you have is already in very nearly an acceptable format for new Date(string) and in fact even as is will be accepted by most (if not all) modern browsers.

To make it fully compliant with the ISO8601 variant that ES5 mandates, just replace the space between the date and time with a literal T character, and add a time-zone specifier at the end (e.g. either Z for UTC, or +01:00, for example).

See http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 for more.



回答2:

Try this: JSFIDDLE there are many JavaScript libraries available. format 'yyyy-mm-dd hh:mm:ss' used by MySQL server. you can covert above string into date object using following code:

var arr = " yyyy-mm-dd hh:mm:ss".split(/-|\s|:/);// split string and create array.
var date = new Date(arr[0], arr[1] -1, arr[2], arr[3], arr[4], arr[5]); // decrease month value by 1


回答3:

Try this:

d = Date().split(" "); var date = d[2] + "-" + d[1] + "-" + d[3] + " " + d[4]