Các bản ghi được lưu theo múi giờ của Hoa Kỳ nhưng nếu tôi muốn hiển thị cùng một bản ghi lại cho người dùng, nó sẽ chuyển đổi ngày giờ của máy chủ với (US Time Vùng) đến ngày của người dùng theo múi giờ của người dùngCách chuyển đổi ngày giờ từ múi giờ này sang múi giờ khác
Trả lời
Nếu bạn nhập vào "múi giờ thay đổi ngày Java" hoặc "múi giờ thay đổi ngày Javascript" của Google. Bạn sẽ có một trong những kết quả của bạn:
Trong Java (nguồn: 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 (nguồn: 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'));
//Convert date from one zone to another
/*
$zone_from='Asia/Kolkata';
$zone_to='America/Phoenix';
date_default_timezone_set($zone_from);
$convert_date="2016-02-26 10:35:00";
echo $finalDate=zone_conversion_date($convert_date, $zone_from, $zone_to);
*/
function zone_conversion_date($time, $cur_zone, $req_zone)
{
date_default_timezone_set("GMT");
$gmt = date("Y-m-d H:i:s");
date_default_timezone_set($cur_zone);
$local = date("Y-m-d H:i:s");
date_default_timezone_set($req_zone);
$required = date("Y-m-d H:i:s");
/* return $required; */
$diff1 = (strtotime($gmt) - strtotime($local));
$diff2 = (strtotime($required) - strtotime($gmt));
$date = new DateTime($time);
$date->modify("+$diff1 seconds");
$date->modify("+$diff2 seconds");
return $timestamp = $date->format("Y-m-d H:i:s");
}
TimeZone fromTimezone =TimeZone.getTimeZone(from);
TimeZone toTimezone=TimeZone.getTimeZone(to);
long fromOffset = fromTimezone.getOffset(calendar.getTimeInMillis());
long toOffset = toTimezone.getOffset(calendar.getTimeInMillis());
long convertedTime = calendar.getTimeInMillis() - (fromOffset - toOffset);
java.time
Các lớp học ngày giờ cũ được thiết kế kém, khó hiểu và phiền hà. Tránh chúng.
Sử dụng các lớp hiện đại: khung java.time được tích hợp sẵn trong Java 8 trở lên. Tìm lại cổng for earlier Java 6 & 7 và for Android.
An Instant
là một thời điểm trên dòng thời gian trong UTC.
Instant now = Instant.now();
Áp dụng múi giờ (ZoneId
) để nhận được ZonedDateTime
.
Không bao giờ sử dụng các chữ viết tắt của 3-4 chữ cái như EST
hoặc IST
. Chúng không được tiêu chuẩn hóa hoặc không phải là duy nhất (!). Sử dụng proper time zone names, được xây dựng ở định dạng continent/region
chẳng hạn như Asia/Kolkata
, Pacific/Auckland
, America/Los_Angeles
.
ZoneId zoneId_Montreal = ZoneId.of("America/Montreal");
ZonedDateTime zdt_Montreal = ZonedDateTime.ofInstant(instant , zoneId_Montreal);
Áp dụng múi giờ khác để tạo khác ZonedDateTime
được điều chỉnh theo múi giờ đó. Gọi withZoneSameInstant
.
ZoneId zoneId_Paris = ZoneId.of("Europe/Paris"); // Or "Asia/Kolkata", etc.
ZonedDateTime zdt_Paris = zdt_Montreal.withZoneSameInstant(zoneId_Paris);
Nếu bạn muốn quay trở lại để UTC, yêu cầu một Instant
.
Instant instant = zdt_Paris.toInstant();
Mã Để Nhận Berlin Thời gian và Convert nó sang UTC Time
Calendar sc = Calendar.getInstance(TimeZone.getTimeZone("Europe/Berlin"));
String strt = null;
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
sf.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
sc.set(sc.get(Calendar.YEAR),sc.get(Calendar.MONTH), sc.get(Calendar.DATE),sc.get(Calendar.HOUR) , sc.get(Calendar.MINUTE));
strt = sf.format(sc.getTime());
System.out.println("Start :"+strt);
- 1. Làm thế nào để bạn chuyển đổi ngày/giờ từ một múi giờ này sang múi giờ khác trong R?
- 2. Chuyển đổi thời gian và ngày tháng từ múi giờ này sang múi giờ khác trong PHP
- 3. Chuyển đổi ngày giờ sang một số múi giờ khác trong java
- 4. Chuyển đổi ngày thành múi giờ khác nhau
- 5. Ngày PostgreSQL() với múi giờ
- 6. Nhận ngày giờ cho múi giờ khác Bất kể múi giờ địa phương
- 7. Python pytz Chuyển đổi dấu thời gian (định dạng chuỗi) từ một múi giờ sang một múi giờ khác
- 8. Chuyển chuỗi thành ngày có múi giờ
- 9. Ngày giờ Mysql với múi giờ
- 10. Chuyển đổi múi giờ trong php
- 11. ExtJS ngày và múi giờ
- 12. Chuyển đổi các ngày JSON không có múi giờ
- 13. iOS: chuyển đổi múi giờ UTC vào điện thoại múi giờ địa phương
- 14. Chuyển đổi múi giờ của Python
- 15. chuyển đổi múi giờ và múi giờ với pytz - hành vi thổi tâm trí
- 16. Múi giờ cho Firebase.ServerValue.TIMESTAMP
- 17. Định dạng chuỗi ngày giờ mặc định với múi giờ
- 18. Ngăn chặn chuyển đổi múi giờ trên quá trình deserialization của giá trị Ngày giờ
- 19. Lấy ngày giờ chuyển đổi tiết kiệm ánh sáng cho các múi giờ trong Java
- 20. Cách chuyển đổi thời gian chính xác theo múi giờ?
- 21. điều chỉnh múi giờ
- 22. Múi giờ bằng Python
- 23. NSDate - Offsetting Múi giờ
- 24. Đặt NSDate thành ngày, giờ và múi giờ cụ thể
- 25. Chuyển đổi UTC DateTime thành múi giờ khác
- 26. Viết tắt múi giờ
- 27. Nhận múi giờ từ DateTime
- 28. Tôi làm cách nào để xử lý ngày và giờ theo múi giờ khác nhau?
- 29. Làm thế nào để chuyển đổi một ngày giờ thành múi giờ cụ thể trong C#?
- 30. Chỉ định múi giờ của ngày log4j
Oi! Java và Javascript là hai công cụ hoàn toàn khác nhau! – LouwHopley