www.webdeveloper.com
Results 1 to 10 of 10

Thread: String to Datetime

  1. #1
    Join Date
    Apr 2010
    Location
    Brooklyn NY
    Posts
    104

    String to Datetime

    is it possible through the Date() object to parse a string such as 2011-09-03 02:23:24 into a Date object?

  2. #2
    Join Date
    Dec 2003
    Location
    Bucharest, ROMANIA
    Posts
    15,428

  3. #3
    Join Date
    Jul 2008
    Location
    urbana, il
    Posts
    2,787
    Code:
    new Date("2011-09-03 02:23:24")//Invalid Date
    new Date("2011-09-03 02:23:24".replace(" ", "T"))//Sat Sep 03 2011 02:23:24 GMT-0500 (Central Daylight Time)

  4. #4
    Join Date
    Apr 2010
    Location
    Brooklyn NY
    Posts
    104
    I still get invalid date with new Date("2011-09-03 02:23:24".replace(" ", "T")) with Safari. I realize this works in firefox, but I'm looking for a cross-browser solution
    Last edited by Marius Miliunas; 09-06-2011 at 04:40 PM.

  5. #5
    Join Date
    Apr 2010
    Location
    Brooklyn NY
    Posts
    104
    Found solution that works

    Code:
    function parseDateFormat(input, format) {
      format = format || 'YYYY-MM-DD hh-mm-ss'; // default format
      var parts = input.match(/(\d+)/g), 
          i = 0, fmt = {};
      // extract date-part indexes from the format
      format.replace(/(YYYY|DD|MM|hh|mm|ss)/g, function(part) { fmt[part] = i++; });
    
      return new Date(parts[fmt['YYYY']], parts[fmt['MM']]-1, parts[fmt['DD']], parts[fmt['hh']], parts[fmt['mm']], parts[fmt['ss']]);
    }
    
    parseDateFormat(2011-09-06 02:13:45)//Tue Sep 06 2011 02:13:45 GMT-0400 (EDT)
    Here's the original thread where i found it http://stackoverflow.com/questions/3...085993#3085993

  6. #6
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,276
    Take care. It's a local client date !
    For me this script give (with quote on the date string) Tue Sep 6 02:13:45 UTC+0200 2011
    It's not exactly the same date that Tue Sep 06 2011 02:13:45 GMT-0400

  7. #7
    Join Date
    Apr 2010
    Location
    Brooklyn NY
    Posts
    104
    what's ur browser?

  8. #8
    Join Date
    Jul 2008
    Location
    urbana, il
    Posts
    2,787
    Code:
    s= "2011-09-03 02:23:24"
    r= s.split(/\D+/g).map(Number)
    d= new Date(r[0],r[1],r[2],r[3],r[4],r[5])
    alert(d)

  9. #9
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,276
    My browser is Internet Explorer 8 (Version 8.0.6001.18702) witch give
    Tue Sep 6 02:13:45 UTC+0200 2011
    Other current browsers :
    Mozilla FireFox (6.0.1)
    Tue Sep 06 2011 02:13:45 GMT+0200
    Google Chrome (13.0.782.201 m)
    Tue Sep 06 2011 02:13:45 GMT+0200 (Paris, Madrid (heure d'été))
    Safari for windows (5.0.5 7533.21.1)
    Tue Sep 06 2011 02:13:45 GMT+0200 (Paris, Madrid (heure d'été))
    Opéra (11.51 1087)
    Tue Sep 06 2011 02:13:45 GMT+0200

    Microsoft is alone, but right with UTC (See NOAA).

  10. #10
    Join Date
    Apr 2010
    Location
    Brooklyn NY
    Posts
    104
    I would say replace the GMT with UTC using a regexp because what it boils down to is that GMT is just milliseconds difference from UTC, which I don't really find important when it comes to web programming

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles