Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use JavaScript to convert a date string with timezone to a date object in local time

The format of my date string looks like this: yyyy-MM-ddTHH:mm:ss-0Z00

Example 1: 2010-03-05T07:03:51-0800

Example 2: 2010-07-01T20:23:00-0700

I need to create a date object using these date strings. new Date() does not work on this string. Please help me convert these date strings into a date objects with the local timezone.

Thank you!

Edit: I am using this in Pentaho Data Integration 4.3.0.

like image 939
Marina Avatar asked Aug 02 '12 02:08

Marina


People also ask

How do you convert a string to a date in JavaScript?

Use the Date() constructor to convert a string to a Date object, e.g. const date = new Date('2022-09-24') . The Date() constructor takes a valid date string as a parameter and returns a Date object. Copied! We used the Date() constructor to convert a string to a Date object.

How do I convert a date to a different time zone?

To convert a date to another time zone: Use the toLocaleString() method to get a string that represents the date according to the provided time zone. Pass the result to the Date() constructor. The returned Date object will have its date and time set according to the provided time zone.

Does JavaScript date have timezone?

JavaScript's internal representation uses the “universal” UTC time but by the time the date/time is displayed, it has probably been localized per the timezone settings on the user's computer. And, indeed, that's the way JavaScript is set up to work.


1 Answers

Take my timezone as an example (AEST):

function parseDate(str_date) {   return new Date(Date.parse(str_date)); }   var str_date = "2015-05-01T22:00:00+10:00"; //AEST time var locale_date = parseDate(str_date); 

locale_date: Fri May 01 2015 22:00:00 GMT+1000 (AEST)

var str_date = "2015-05-01T22:00:00+00:00" //UTC time var locale_date = parseDate(str_date); 

locale_date: Sat May 02 2015 08:00:00 GMT+1000 (AEST)

like image 97
Leo Avatar answered Oct 09 '22 17:10

Leo