如何将日期时间从一个时区转换为另一个时区

2022-01-16 00:00:00 datetime timezone java

记录是根据美国时区保存的,但如果我想向用户显示相同的记录,它应该将服务器日期时间与(美国时区)转换为用户的日期时间与用户的时区

The records are getting saved according to time zone of US but if I want to show the same record back to user it should convert the server date time with(US Time Zone) to user's date time with user's Time Zone

推荐答案

如果你输入谷歌Java 日期更改时区"或Javascript 日期更改时区".您将获得一项结果:

If you type in google "Java date change timezone" or "Javascript date change timezone". You will have one of your results:

在 Java 中(来源:http:///www.coderanch.com/t/417443/java/java/Convert-Date-one-timezone-another)

In Java (source: http://www.coderanch.com/t/417443/java/java/Convert-Date-one-timezone-another )

Date date = new Date();  

DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");  
formatter.setTimeZone(TimeZone.getTimeZone("CET"));  

// Prints the date in the CET timezone  
System.out.println(formatter.format(date));  

// Set the formatter to use a different timezone  
formatter.setTimeZone(TimeZone.getTimeZone("IST"));  

// Prints the date in the IST timezone  
System.out.println(formatter.format(date));  

Javascript(来源:http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329)

Javascript (source: http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329 )

// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {

    // create Date object for current location
    d = new Date();

    // convert to msec
    // add local time zone offset
    // get UTC time in msec
    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return "The local time in " + city + " is " + nd.toLocaleString();

}

// get Bombay time
alert(calcTime('Bombay', '+5.5'));

相关文章