PHP chuyển đổi ngày giờ thành GMT

Sắp xếp ngày tháng và thời gian có thể là một nhiệm vụ hơi khó khăn đối với tất cả các lập trình viên. Một yêu cầu rất phổ biến là chuyển đổi thời gian từ múi giờ này sang múi giờ khác

Trong PHP, điều này được đơn giản hóa rất nhiều với các lớp thư viện chuẩn DateTime và đặc biệt là DateTimeZone

Đối với ví dụ này, giả sử chúng ta có chuỗi ngày và giờ UTC (2011-04-27 02. 45) mà chúng tôi muốn chuyển đổi sang ACST (Giờ chuẩn miền trung nước Úc)


$utc_date = DateTime::createFromFormat(
    'Y-m-d G:i',
    '2011-04-27 02:45',
    new DateTimeZone('UTC')
);

$acst_date = clone $utc_date; // we don't want PHP's default pass object by reference here
$acst_date->setTimeZone(new DateTimeZone('Australia/Yancowinna'));

echo 'UTC:  ' . $utc_date->format('Y-m-d g:i A');  // UTC:  2011-04-27 2:45 AM
echo 'ACST: ' . $acst_date->format('Y-m-d g:i A'); // ACST: 2011-04-27 12:15 PM

Sau một số thử nghiệm giữa các múi giờ hiện có và không có DST (Giờ tiết kiệm ánh sáng ban ngày), tôi đã phát hiện ra rằng điều này sẽ tính đến DST

Trong hướng dẫn này, chúng tôi đã chia sẻ với bạn cách chuyển đổi giá trị ngày và giờ từ múi giờ này sang múi giờ khác bằng cách sử dụng các lớp DateTime và DateTimeZone trong PHP. Bạn có thể chuyển đổi bất kỳ múi giờ nào thành Ngày giờ UTC bằng PHP

Chúng tôi sẽ chỉ cho bạn cách chuyển đổi ngày & giờ địa phương thành Ngày giờ UTC (YYYY-MM-DD HH. MM. định dạng SS AM/PM) trong PHP

cũng đọc. Chuyển đổi nội dung HTML sang PDF bằng JavaScript

Chuyển đổi Ngày giờ hiện tại thành Ngày giờ UTC

1

2

3

4

5

6

7

$currentDateTime = ngày("Y-m-d H. i. s A");

$newDateTime = new DateTime($currentDateTime);

$newDateTime - >setTimezone(new DateTimeZone("UTC"));

$dateTimeUTC = $newDateTime - >format("Y-m-d h:i A");

echo $dateTimeUTC;

?>

Chuyển đổi Localdatetime thành UTC Ngày giờ

1

2

3

4

5

6

7

8

$dateTime = '2021-11-19 14. 58. 55';

$timezone_from = 'America/New_York';

$newDateTime = new DateTime($dateTime, new DateTimeZone($timezone_from));

$newDateTime - >setTimezone(new DateTimeZone("UTC"));

$dateTimeUTC = $newDateTime - >format("Y-m-d h:i A");

echo $dateTimeUTC;

?>

cũng đọc. Đánh dấu từ khóa trong kết quả tìm kiếm với PHP và MySQL

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

Các ví dụ được đề cập dưới đây cho thấy việc chuyển đổi ngày và giờ đã cho từ múi giờ UTC sang múi giờ Los Angeles. Nó tiếp tục chuyển đổi ngày và giờ từ múi giờ Los Angeles sang múi giờ London

// 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 tôi 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à giờ từ múi giờ mặc định sang múi giờ đã cho như hình bên dưới

// 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ách sử dụng các lớp DateTime và DateTimeZone

Làm cách nào để chuyển đổi ngày thành GMT trong PHP?

The gmdate() là một hàm có sẵn trong PHP được sử dụng để định dạng ngày giờ GMT/UTC và trả về ngày đã định dạng . Nó tương tự như hàm date() nhưng nó trả về thời gian theo Giờ trung bình Greenwich (GMT).

Làm cách nào để có được thời gian GMT hiện tại bằng PHP?

Hàm gmdate() định dạng ngày và giờ GMT/UTC, đồng thời trả về chuỗi ngày đã định dạng.

Làm cách nào để chuyển đổi thời gian theo UTC trong PHP?

Nếu bạn có một đối tượng DateTime $givenDt mà bạn muốn chuyển đổi sang UTC thì điều này sẽ chuyển đổi nó thành UTC. $givenDt->setTimezone(new DateTimeZone('UTC')); .
Bạn chỉ nên sử dụng gmdate thay vì thay đổi múi giờ mặc định thành UTC. .
-1 vì bạn không muốn thay đổi múi giờ mặc định toàn cầu cho việc này

PHP GMT là gì?

1 GMT = ₱4. 68 .