Hướng dẫn php convert utc to timezone - php chuyển đổi utc sang múi giờ

28

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm thế nào tôi có thể chuyển đổi một ngày như thế này: 2012-07-16 01:00:00 +00 (đó là trong thời gian UTC +00:00) thành thời gian UTC +04:00? Đảm bảo rằng tiết kiệm ánh sáng ban ngày sẽ được xử lý chính xác?

Hỏi ngày 9 tháng 8 năm 2012 lúc 12:44Aug 9, 2012 at 12:44

Hướng dẫn php convert utc to timezone - php chuyển đổi utc sang múi giờ

Jo Smojo SmoJo Smo

6.5539 Huy hiệu vàng43 Huy hiệu bạc66 Huy hiệu Đồng9 gold badges43 silver badges66 bronze badges

2

Sử dụng DateTimeDateTimeZone.

$date = new DateTime('2012-07-16 01:00:00 +00');
$date->setTimezone(new DateTimeZone('Europe/Moscow')); // +04

echo $date->format('Y-m-d H:i:s'); // 2012-07-15 05:00:00 

Đã trả lời ngày 9 tháng 8 năm 2012 lúc 12:54Aug 9, 2012 at 12:54

FlorentflorentFlorent

12.3k10 Huy hiệu vàng47 Huy hiệu bạc58 Huy hiệu đồng10 gold badges47 silver badges58 bronze badges

1

Để giúp giải pháp, bạn cần có phần cuối cùng của chuỗi (phần bù) và tìm kiếm nó so với một tra cứu đơn giản. Bạn có thể sử dụng Regex hoặc

//So For 'Asia/Kolkata' you need to use 

$timeZone = new DateTimeZone('+0530');

// Example 

$utc = new DateTime("1960-08-08T20:40:00Z");
echo $utc->format('Y-m-d H:i:s T')."
"; $tz =new DateTimeZone('+0530'); $utc->setTimezone($tz); echo $utc->format('Y-m-d H:i:s T');
0 (có thể) để có được phần khó khăn nhất. Sau đó, khi bạn có giá trị + hoặc -, hãy sử dụng tối đa 24 lần tra cứu so với thời gian có thể mà bạn có thể sử dụng với thời gian có thể của PHP - nếu phần bù là giống nhau, ai quan tâm đến quốc gia/vị trí thực tế là gì?

Việc sử dụng DATE_DEFAULT_TIMEZONE_SET để áp dụng đúng.

Đã trả lời ngày 9 tháng 8 năm 2012 lúc 12:55Aug 9, 2012 at 12:55

FluffehfluffehFluffeh

32,8K16 Huy hiệu vàng66 Huy hiệu bạc80 Huy hiệu đồng16 gold badges66 silver badges80 bronze badges

Trình xây dựng DateTimeZone có thể chấp nhận rõ ràng một phần bù UTC, mà tôi hiểu bạn có.

//So For 'Asia/Kolkata' you need to use 

$timeZone = new DateTimeZone('+0530');

// Example 

$utc = new DateTime("1960-08-08T20:40:00Z");
echo $utc->format('Y-m-d H:i:s T')."
"; $tz =new DateTimeZone('+0530'); $utc->setTimezone($tz); echo $utc->format('Y-m-d H:i:s T');

Đầu ra: 1960-08-08 20:40:00 Z 1960-08-09 02:10:00 GMT+0530

Tôi đoán đây là cách dễ nhất và đơn giản nhất để chuyển đổi thời gian sang bất kỳ phần bù nào đã cho

Documentation:

http://php.net/manual/en/datetimezone.construct.php

Lưu ý: Theo liên kết tài liệu đó, việc sử dụng hàm tạo mới này đã có sẵn kể từ Php phiên bản 5.5.10.

Đã trả lời ngày 12 tháng 9 năm 2021 lúc 16:38Sep 12, 2021 at 16:38

Hướng dẫn php convert utc to timezone - php chuyển đổi utc sang múi giờ

Bạn cũng có thể sử dụng thời gian GMT và chuyển đổi nó theo yêu cầu của bạn sau đó


GMT đề cập đến thời gian trung bình của Greenwich là phổ biến trên toàn thế giới.

McDowell

106K29 Huy hiệu vàng199 Huy hiệu bạc262 Huy hiệu Đồng29 gold badges199 silver badges262 bronze badges

Đã trả lời ngày 22 tháng 8 năm 2014 lúc 9:41Aug 22, 2014 at 9:41

Hướng dẫn php convert utc to timezone - php chuyển đổi utc sang múi giờ

0

Nó cung cấp các ví dụ mã để chuyển đổi ngày và thời gian sang một múi giờ khác trong PHP.

Hướng dẫn này cung cấp các ví dụ về mã để chuyển đổi giá trị ngày và thời gian từ một múi giờ sang múi giờ khác bằng các lớp DateTime và Datetimezone. Chúng ta luôn có thể chuyển đổi giá trị ngày và thời gian từ múi giờ hoạt động sang một múi giờ khác.

Các ví dụ dưới mức được đề cập cho thấy việc chuyển đổi ngày và thời gian đã cho từ UTC Timezone sang Los Angeles Timezone. Nó tiếp tục chuyển đổi ngày và thời gian từ Timezone Los Angeles thành London Timezone.UTC timezone to the Los Angeles timezone. It further converts the date and time from the Los Angeles timezone to the London timezone.

// Get Timezone - UTC
$utcTimezone = new DateTimeZone( 'UTC' );

// Set time
$time = new DateTime( '2020-06-03 10:45:15', $utcTimezone );

echo $time->format( 'Y-m-d H:i:s' ); // 2020-06-03 10:45:15

// Get Timezone - Los Angeles
$laTimezone = new DateTimeZone( 'America/Los_Angeles' );

$time->setTimeZone( $laTimezone );

// Convert UTC to Los Angeles
echo $time->format( 'Y-m-d H:i:s' ); // 2020-06-03 03:45:15

// Get Timezone - London
$loTimezone = new DateTimeZone( 'Europe/London' );

$time->setTimeZone( $loTimezone );

// Convert Los Angeles to London
echo $time->format( 'Y-m-d H:i:s' ); // 2020-06-03 11:45:15

Chúng ta có thể thực hiện nhiều chuyển đổi múi giờ như được hiển thị ở trên để hiển thị nhiều đồng hồ, giữ UTC làm múi giờ tiêu chuẩn.

Chúng ta cũng có thể sử dụng hàm DATE_DEFAULT_TIMEZONE_SET để đặt múi giờ mặc định và sử dụng múi giờ khác để chuyển đổi ngày và thời gian từ múi giờ mặc định sang múi giờ đã cho như hiển thị bên dưới.date_default_timezone_set to set the default timezone and use a different timezone to convert the date and time from the default timezone to the given timezone as shown below.

// Globally define the Timezone
define( 'TIMEZONE', 'UTC' );

// Set Timezone
date_default_timezone_set( TIMEZONE );

// Set time
$time = new DateTime( '2020-06-03 10:45:15' );

echo $time->format( 'Y-m-d H:i:s' ); // 2020-06-03 10:45:15

// Get Timezone - Los Angeles
$laTimezone = new DateTimeZone( 'America/Los_Angeles' );

$time->setTimeZone( $laTimezone );

// Convert UTC to Los Angeles
echo $time->format( 'Y-m-d H:i:s' ); // 2020-06-03 03:45:15

Đây là cách dễ nhất để chuyển đổi thời gian từ đồng hồ này sang đồng hồ khác bằng các lớp DateTime và Datetimezone.

Làm thế nào để bạn chuyển đổi thời gian UTC sang giờ địa phương?

. Ví dụ: nếu bù thời gian địa phương của bạn là -5: 00 và nếu thời gian UTC được hiển thị là 11:00, hãy thêm -5 đến 11. Cài đặt thời gian khi được điều chỉnh cho bù là 06:00 (6:00 A.M.). Lưu ý ngày cũng theo định dạng UTC.Add the local time offset to the UTC time. For example, if your local time offset is -5:00, and if the UTC time is shown as 11:00, add -5 to 11. The time setting when adjusted for offset is 06:00 (6:00 A.M.). Note The date also follows UTC format.

Làm thế nào để chuyển đổi múi giờ trong PHP?

Thật sự đơn giản để chuyển đổi một datetime từ múi giờ này sang múi giờ khác trong PHP.Chỉ cần tạo một đối tượng DateTime bằng cách sử dụng ngày và thời gian để được chuyển đổi làm tham số đầu tiên và múi giờ ban đầu là tham số thứ hai.Sau đó, thay đổi múi giờ thành quy mô mong muốn bằng phương thức setTimezone.Đó là tất cả!

Múi giờ UTC trong PHP là gì?

Thời gian mặc định cho PHP là UTC bất kể thời gian của máy chủ của bạn.Đây là múi giờ được sử dụng bởi tất cả các hàm ngày/giờ PHP trong tập lệnh của bạn.Xem danh sách thời gian được hỗ trợ của PHP để tìm tên của tất cả các múi giờ có thể bạn có thể sử dụng cho ngày.. This is the timezone used by all PHP date/time functions in your scripts. See PHP's list of supported timezones to find the names of all possible timezones you can use for the date.

Mấy giờ UTC 24 giờ?

Thời gian hiện tại của UTC là 16:40:34 Ngày hiện tại của UTC là ngày 22 thứ Bảy tháng 10 năm 2022.16:40:34 UTC current date is 22nd Saturday October 2022.