将多个位置的本地dateTime转换为java中的UTC

时间:2016-03-02 11:59:00

标签: java datetime jodatime

目前,Java应用程序部署在多个国家/地区的站点位置。 某些操作的本地日期和时间将传递给应用程序 没有时区。

必须将每个本地时间戳转换为UTC。 如何获取localTimeZone(取决于应用程序的运行位置),选中此项并将所有日期转换为UTC。

2 个答案:

答案 0 :(得分:0)

请,做同样的事,

QUnit.test("some test", function() {
  console.log( QUnit.config.current.testName);
});

答案 1 :(得分:0)

我从here找到了这个答案。您可以尝试这一点,简单易用,可以将任何时区转换为任何区域

SimpleDateFormat formatter = new SimpleDateFormat("dd-M-yyyy hh:mm:ss a");

String dateInString = "22-01-2015 10:15:55 AM";
Date date = formatter.parse(dateInString);
TimeZone tz = TimeZone.getDefault();

// From TimeZone Asia/Singapore
System.out.println("TimeZone : " + tz.getID() + " - " + tz.getDisplayName());
System.out.println("TimeZone : " + tz);
System.out.println("Date : " + formatter.format(date));

// To TimeZone America/New_York
SimpleDateFormat sdfAmerica = new SimpleDateFormat("dd-M-yyyy hh:mm:ss a");
TimeZone tzInAmerica = TimeZone.getTimeZone("America/New_York");
sdfAmerica.setTimeZone(tzInAmerica);

String sDateInAmerica = sdfAmerica.format(date); // Convert to String first
Date dateInAmerica = formatter.parse(sDateInAmerica);

System.out.println("\nTimeZone : " + tzInAmerica.getID() + 
                                  " - " + tzInAmerica.getDisplayName());
System.out.println("TimeZone : " + tzInAmerica);
System.out.println("Date (String) : " + sDateInAmerica);
System.out.println("Date (Object) : " + formatter.format(dateInAmerica));