Convert date over time in PST to UTC

I have a str variable (string type) that has the value "28-Nov-2013 09:15 AM". How to convert it to UTC format (the above value in str variable is in PST, therefore, UTC should be 8 hours longer). I am using flex 2. The figure below shows the code that does not work: -

txtDate.text= formatDateUTC(txtDate.text); //here txtDate.text=28-Nov-2013 09:15 AM private function formatDateUTC(originalDate:String):String { Alert.show('original '+originalDate); var dtValue:Date = new Date(Date.parse(originalDate.replace("-"," "))); var editedDate:String=pstFormatter.format(dtValue); Alert.show('edited '+editedDate); return (dateFormatter.format(dateAdd("hours",8,dtValue))).toString(); } private function dateAdd(datepart:String = "", number:Number = 0, date:Date = null):Date { if (date == null) { date = new Date(); } var returnDate:Date = new Date(date);; switch (datepart.toLowerCase()) { case "fullyear": case "month": case "date": case "hours": case "minutes": case "seconds": case "milliseconds": returnDate[datepart] += number; break; default: /* Unknown date part, do nothing. */ break; } return returnDate; } 
+1
source share
1 answer

Wise programmers leave the hard work of calculating the date and time to a specialized library. In Java, it will be Joda-Time (or in Java 8, JSR 310).

Here is sample code for Joda-Time 2.3 in Java 7.

 // © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so. String dateString = "28-Nov-2013 09:15 AM"; // Assumed to be the local date-time in United States west coast. //String dateString = "28-Nov-2013 09:15 PM"; // Test "PM" as well as "AM" if you like. // Joda-Time has deprecated use of 3-letter time zone codes because of their inconsistency. Use other identifier for zone. // Time Zone list: http://joda-time.sourceforge.net/timezones.html org.joda.time.DateTimeZone californiaTimeZone = org.joda.time.DateTimeZone.forID( "America/Los_Angeles" ); // Joda-Time formatting codes: http://www.joda.org/joda-time/key_format.html org.joda.time.format.DateTimeFormatter dateStringFormat = org.joda.time.format.DateTimeFormat.forPattern( "dd-MMM-yyyy hh:mm aa" ).withZone( californiaTimeZone ); org.joda.time.DateTime californiaDateTime = dateStringFormat.parseDateTime( dateString ); org.joda.time.DateTime utcDateTime = californiaDateTime.toDateTime( org.joda.time.DateTimeZone.UTC ); // Both of these date-time objects represent the same moment in the time-line of the Universe, // but presented with different time-zone offsets. System.out.println( "californiaDateTime: " + californiaDateTime ); System.out.println( "utcDateTime: " + utcDateTime ); 

At startup ...

 californiaDateTime: 2013-11-28T09:15:00.000-08:00 utcDateTime: 2013-11-28T17:15:00.000Z 
+1
source

All Articles