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("Dec 20, 2025 09:05:52 GMT+0100");
<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
0Dec 20, 2025 09:05:52 GMT+0100++++++
1Dec 20 2025 09:05:52 GMT+0100++++++
2Dec 20, 2025 09:05:52 GMT+1++++++
32025-12-20 09:05:52 GMT+0100-+--++
42025-12-20 09:05:52 GMT+01:00-+--++
52025-12-20 09:05:52 GMT+100-+--++
620 Dec 2025 09:05:52+01:00-+----
7Dec 20 2025 09:05:52 GMT+1:00-++-++
8Dec 20, 2025 09:05:52 GMT+01:00-++-++
92025-12-20 09:05:52 GMT+1-+--++
102025-12-20 09:05:52-+--++
112025-12-20T09:05:52+01:00+++++-
122025-12-20 09:05:52+01:00-+----
1312-20-2025 09:05:52 GMT+0100++---+
1412/20, 2025 09:05:52 GMT+0100+++-++
1520-Dec-2025 09:05:52 GMT+0100-+-+-+
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 "2025-12-20 09:05:52" 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, Dec 20, 2025 09:05:52 GMT+0100 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
0Dec 20, 2025 09:05:52 GMT+0100++++++

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, Dec 20 2025 09:05:52 GMT+0100 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1Dec 20 2025 09:05:52 GMT+0100++++++

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, Dec 20, 2025 09:05:52 GMT+1 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
2Dec 20, 2025 09:05:52 GMT+1++++++
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, 2025-12-20 09:05:52 GMT+0100 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
32025-12-20 09:05:52 GMT+0100-+--++

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

For example, 2025-12-20 09:05:52 GMT+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
42025-12-20 09:05:52 GMT+01:00-+--++

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

For example, 2025-12-20 09:05:52 GMT+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
52025-12-20 09:05:52 GMT+100-+--++

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

For example, 20 Dec 2025 09:05:52+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
620 Dec 2025 09:05:52+01:00-+----

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

For example, Dec 20 2025 09:05:52 GMT+1:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
7Dec 20 2025 09:05:52 GMT+1:00-++-++

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

For example, Dec 20, 2025 09:05:52 GMT+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
8Dec 20, 2025 09:05:52 GMT+01:00-++-++

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

For example, 2025-12-20 09:05:52 GMT+1 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
92025-12-20 09:05:52 GMT+1-+--++

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

For example, 2025-12-20 09:05:52 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
102025-12-20 09:05:52-+--++

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

For example, 2025-12-20T09:05:52+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
112025-12-20T09:05:52+01: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, 2025-12-20 09:05:52+01:00 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
122025-12-20 09:05:52+01:00-+----

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

For example, 12-20-2025 09:05:52 GMT+0100 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1312-20-2025 09:05:52 GMT+0100++---+

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

For example, 12/20, 2025 09:05:52 GMT+0100 =>

#js new Date() FeedIEChromeFirefoxSafariOperaMobile
1412/20, 2025 09:05:52 GMT+0100+++-++

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\TODec 20, 2025 09:05:52 GMT+0100
1M d Y H:i:s \G\M\TODec 20 2025 09:05:52 GMT+0100
2Dec 20, 2025 09:05:52 GMT+1
3Y-m-d H:i:s \G\M\TO2025-12-20 09:05:52 GMT+0100
4Y-m-d H:i:s \G\M\TP2025-12-20 09:05:52 GMT+01:00
52025-12-20 09:05:52 GMT+100
6d M Y H:i:s \G\M\TP20 Dec 2025 09:05:52+01:00
7Dec 20 2025 09:05:52 GMT+1:00
8M d Y H:i:s \G\M\TPDec 20, 2025 09:05:52 GMT+01:00
92025-12-20 09:05:52 GMT+1
10Y-m-d H:i:s2025-12-20 09:05:52
11c2025-12-20T09:05:52+01:00
12Y-m-d H:i:sP2025-12-20 09:05:52+01:00
13m-d-Y H:i:s\G\M\TO12-20-2025 09:05:52 GMT+0100
14m/d, Y H:i:s\G\M\TO12/20, 2025 09:05:52 GMT+0100
15d-M-Y H:i:s \G\M\TO20-Dec-2025 09:05:52 GMT+0100
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("Dec 20, 2025 09:05:52 GMT+0100"));
</script>

Give us feedback (14)

4. Visitor *.*.5.* - 2020-12-23 21:04:30
For example, if you were asked to compare how two poets address a similar theme you would know that the reader was expecting to see close analysis of the words used and how theme and structure differ in each.
3. Visitor *.*.132.* - 2020-11-13 13:42:04
It is very difficult for a child who is not interested in learning to apply the knowledge gained in practice, and the lack of motivation for the educational process leads to chronic academic failure. Why is this happening? The parents themselves are often to blame.
2. Visitor *.*.255.* - 2020-08-19 01:34:46
Be careful with who you pay to do this, bad people everywhere.
1. Visitor *.*.177.* - 2020-01-25 21:36:29
Essay company hires only the best writers on the market. We appreciate people with PhD degree. They are expert in every field. You can be sure your psper is in good hands and you'll receive it asap
Email Web

Please copy the string:
String to copy.

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