Test Valid Date String for JavaScript

Created 2013-05-31 20:44:00
Updated 2023-11-22 15:29:06

Here we check the valid strings for the argument of the Date:: class constructor to create Date object under JavaScript, ie,
<script type="text/javascript">
var objDate;
objDate = new Date("Apr 01, 2026 23:55:51 GMT+0200");
<script>
We are trying to get the PHP date format string to format date time to form the pipeline PHP DateTime() => js Date() => document.write() to output on screen. Here is the summary of cases we tested for you:
#js new Date() FeedIEChromeFirefoxSafariOperaMobile
0Apr 01, 2026 23:55:51 GMT+0200++++++
1Apr 01 2026 23:55:51 GMT+0200++++++
2Apr 01, 2026 23:55:51 GMT+2++++++
32026-04-01 23:55:51 GMT+0200-+--++
42026-04-01 23:55:51 GMT+02:00-+--++
52026-04-01 23:55:51 GMT+200-+--++
601 Apr 2026 23:55:51+02:00-+----
7Apr 01 2026 23:55:51 GMT+2:00-++-++
8Apr 01, 2026 23:55:51 GMT+02:00-++-++
92026-04-01 23:55:51 GMT+2-+--++
102026-04-01 23:55:51-+--++
112026-04-01T23:55:51+02:00+++++-
122026-04-01 23:55:51+02:00-+----
1304-01-2026 23:55:51 GMT+0200++---+
1404/01, 2026 23:55:51 GMT+0200+++-++
1501-Apr-2026 23:55:51 GMT+0200-+-+-+
Tab. I: + Valid Date Time String for Javascript::Date() class, - Invalid.

JavaScript is very English speaking. In effect, among the 3 first universal formats, the English month abbreviation is used. As it can be observed that no pure numerical date string is found like "2026-04-01 23:55:51" to fit JavaScript syntax in all browsers. Please check this with your preferred browser.

Detail of JavaScript Tests

Below, the bold date time outputs at the right hand side of => are the JavaScript Date Class results.

0. Good Format "mmm dd, yyyy hh:mm:ss GMT+0200"

For example, Apr 01, 2026 23:55:51 GMT+0200 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
0Apr 01, 2026 23:55:51 GMT+0200++++++

This format is valid for all browsers in our hands, including Internet Explorer, Google Chrome, Firefox, Safari, Opera, Mobile Safari. On PHP, you get this DateTime format of the current time by

<?php
$objDateTime = new DateTime();
$strDateTime = $objDateTime->format("M d, Y H:i:s \G\M\TO");
?>
One observes that this is the Standard English Date Time expression.

1. Another Good Format "mmm dd yyyy hh:mm:ss GMT+0200"

For example, Apr 01 2026 23:55:51 GMT+0200 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1Apr 01 2026 23:55:51 GMT+0200++++++

This format is also valid for all browsers in our hands, including IE, Google Chrome, Firefox, Safari, Opera, Safari Mobile. On PHP, you get this DateTime format of the current time by

<?php
$objDateTime = new DateTime();
$strDateTime = $objDateTime->format("M d Y H:i:s \G\M\TO");
?>
One notes that this is another English Date Time expression with timezone.

2. Good Format "mmm dd, yyyy hh:mm:ss GMT+2"

For example, Apr 01, 2026 23:55:51 GMT+2 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
2Apr 01, 2026 23:55:51 GMT+2++++++
As shown, you can shorten the timezone notification.

Bad Formats

All following date time strings are good for some browsers, but unfortunately bad for others.

3. Format "yyyy-mm-dd hh:mm:ss GMT+0200"

For example, 2026-04-01 23:55:51 GMT+0200 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
32026-04-01 23:55:51 GMT+0200-+--++

4. Format "yyyy-mm-dd hh:mm:ss GMT+02:00"

For example, 2026-04-01 23:55:51 GMT+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
42026-04-01 23:55:51 GMT+02:00-+--++

4. Format "yyyy-mm-dd hh:mm:ss GMT+0200"

For example, 2026-04-01 23:55:51 GMT+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
52026-04-01 23:55:51 GMT+200-+--++

6. Format "dd mmm yyyy hh:mm:ss+02:00"

For example, 01 Apr 2026 23:55:51+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
601 Apr 2026 23:55:51+02:00-+----

7. Format "mmm dd yyyy hh:mm:ss GMT+02:00"

For example, Apr 01 2026 23:55:51 GMT+2:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
7Apr 01 2026 23:55:51 GMT+2:00-++-++

8. Format "mmm dd, yyyy hh:mm:ss GMT+02:00"

For example, Apr 01, 2026 23:55:51 GMT+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
8Apr 01, 2026 23:55:51 GMT+02:00-++-++

9. Format "yyyy-mmm-dd hh:mm:ss GMT+2"

For example, 2026-04-01 23:55:51 GMT+2 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
92026-04-01 23:55:51 GMT+2-+--++

10. Format "yyyy-mmm-dd hh:mm:ss"

For example, 2026-04-01 23:55:51 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
102026-04-01 23:55:51-+--++

11. Format "yyyy-mmm-ddThh:mm:ss+02:00"

For example, 2026-04-01T23:55:51+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
112026-04-01T23:55:51+02:00+++++-
You get this format by PHP5 DateTime=>format('c'). It's regrettable that JavaScript Mobile Safari does not support this format, as this is the universal date time string, used by SQL server, MySQL Server, ...

12. Format "yyyy-mmm-dd hh:mm:ss GMT+02:00"

For example, 2026-04-01 23:55:51+02:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
122026-04-01 23:55:51+02:00-+----

13. Format "mm-dd-yyyy hh:mm:ss GMT+0200"

For example, 04-01-2026 23:55:51 GMT+0200 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1304-01-2026 23:55:51 GMT+0200++---+

14. Format "mm/dd, yyyy hh:mm:ss GMT+0200"

For example, 04/01, 2026 23:55:51 GMT+0200 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1404/01, 2026 23:55:51 GMT+0200+++-++

JavaScript new Date() running results at one single glance under Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Below, we summarize the date time feed checked above in a single table under your current browser.

#PHP DateTime->formatjs new Date() Feedjs new Date() outputs
0M d, Y H:i:s \G\M\TOApr 01, 2026 23:55:51 GMT+0200
1M d Y H:i:s \G\M\TOApr 01 2026 23:55:51 GMT+0200
2Apr 01, 2026 23:55:51 GMT+2
3Y-m-d H:i:s \G\M\TO2026-04-01 23:55:51 GMT+0200
4Y-m-d H:i:s \G\M\TP2026-04-01 23:55:51 GMT+02:00
52026-04-01 23:55:51 GMT+200
6d M Y H:i:s \G\M\TP01 Apr 2026 23:55:51+02:00
7Apr 01 2026 23:55:51 GMT+2:00
8M d Y H:i:s \G\M\TPApr 01, 2026 23:55:51 GMT+02:00
92026-04-01 23:55:51 GMT+2
10Y-m-d H:i:s2026-04-01 23:55:51
11c2026-04-01T23:55:51+02:00
12Y-m-d H:i:sP2026-04-01 23:55:51+02:00
13m-d-Y H:i:s\G\M\TO04-01-2026 23:55:51 GMT+0200
14m/d, Y H:i:s\G\M\TO04/01, 2026 23:55:51 GMT+0200
15d-M-Y H:i:s \G\M\TO01-Apr-2026 23:55:51 GMT+0200
Tab II: Real-Time JavaScript Date() Results with different Date time feed. See php.net: date — Format a local time/date.

Here the column "PHP DateTime->format" gives the format string to be used to obtain the "js new Date() Feed" column for JavaScript Date Constructor. The last column "js new Date() outputs" is JavaScript running results given by new Date(Date-Time String):

<script type="text/javascript">
document.write(new Date("Apr 01, 2026 23:55:51 GMT+0200"));
</script>

Give us feedback (14)

14. Visitor *.*.168.* - 2024-08-20 14:30:49
Excellent write-up, I have always enjoyed your articles, you’re such an excellent writer, always on point. This article is loaded to the hilt.
13. Visitor *.*.69.* - 2021-06-28 14:22:59
Good post guys!
12. Visitor *.*.125.* - 2021-05-05 20:00:32
As a new online player, you will find plenty of options when it comes to online casinos. They will all claim to offer the best service, which is not necessarily true as some of them offer higher quality than others.
11. Visitor *.*.18.* - 2021-02-17 11:50:36
If you are constantly searching for an answer to the question “Who can write my college paper for me fast and cheap?” you are in the right place. Experienced writers will help you succeed.
10. Visitor *.*.188.* - 2021-02-07 11:39:22
We set reasonable and affordable prices for our papers. You will hardly find a better custom writing service than ours.
Email Web

Please copy the string:
String to copy.

Chinese Shoes > Test Valid Date String for JavaScript
  
Popup Window    Close
Patience please...