Hướng dẫn how to convert time zone in php? - làm thế nào để chuyển đổi múi giờ trong php?

Không có câu trả lời nào trong số này làm việc cho tôi [tôi đã bỏ qua việc thử mã có kích thước quá cồng kềnh]. Tôi cũng nghĩ rằng thật kỳ lạ khi thay đổi múi giờ mặc định chỉ cho một chuyển đổi duy nhất.

Đây là giải pháp của tôi:

function changeTimeZone[$dateString, $timeZoneSource = null, $timeZoneTarget = null]
{
  if [empty[$timeZoneSource]] {
    $timeZoneSource = date_default_timezone_get[];
  }
  if [empty[$timeZoneTarget]] {
    $timeZoneTarget = date_default_timezone_get[];
  }

  $dt = new DateTime[$dateString, new DateTimeZone[$timeZoneSource]];
  $dt->setTimezone[new DateTimeZone[$timeZoneTarget]];

  return $dt->format["Y-m-d H:i:s"];
}

Vì vậy, để chuyển đổi sang mặc định máy chủ, bạn sẽ chỉ vượt qua một múi giờ:

changeTimeZone["2016-10-24 16:28", "Asia/Tokyo"];

Để chuyển đổi từ mặc định máy chủ sang người dùng, bạn sẽ để tham số thứ 2 hoặc trống:

changeTimeZone["2016-10-24 16:28", "", "Asia/Tokyo"];

Và để chuyển đổi giữa 2 múi giờ không liên quan đến mặc định, bạn sẽ cung cấp 2 múi giờ:

changeTimeZone["2016-10-24 16:28", "America/New_York", "Asia/Tokyo"];

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.

Bài Viết Liên Quan

Chủ Đề