Hướng dẫn php date->format with timezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTimezone -- date_timezone_setSets the time zone for the DateTime object

Parameters

object

Procedural style only: A DateTime object returned by date_create(). The function modifies this object.

timezone

A DateTimeZone object representing the desired time zone.

Return Values

Returns the DateTime object for method chaining. The underlaying point-in-time is not changed when calling this method.

Examples

Example #1 DateTime::setTimeZone() example

Object-oriented style

<?php
$date 
= new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo 
$date->format('Y-m-d H:i:sP') . "\n";$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo 
$date->format('Y-m-d H:i:sP') . "\n";
?>

Procedural style

<?php
$date 
date_create('2000-01-01'timezone_open('Pacific/Nauru'));
echo 
date_format($date'Y-m-d H:i:sP') . "\n";date_timezone_set($datetimezone_open('Pacific/Chatham'));
echo 
date_format($date'Y-m-d H:i:sP') . "\n";
?>

The above examples will output:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

See Also

  • DateTimeImmutable::setTimezone() - Sets the time zone
  • DateTime::getTimezone() - Return time zone relative to given DateTime
  • DateTimeZone::__construct() - Creates new DateTimeZone object

There are no user contributed notes for this page.

Đôi lúc các bạn xem các hướng dẫn về hàm lấy thời gian :date(format,timestamp).

Nếu chưa biết hàm date(format,timestamp) bạn có thể xem ở link:http://congnghe5s.com/bai-viet/xu-ly-ngay-gio-trong-php.html.

Bạn thực hiện test lệnh trên máy và kết quả không khớp với time hiện tại. Đó là vì lí do thời gian hay timezone trên server bạn đã cài đặt khác vì thế để trả về đúng time bạn muốn bạn có thể dùng hàm:

Cú pháp:date_default_timezone_set ( string $timezone_identifier ).

tham số : $timezone_identifier bạn lấy ở đây:http://php.net/manual/en/timezones.asia.php

phù hợp khu vực bạn muốn ví dụ mình muốn set lấy giờ việt nam mình làm như sau:

date_default_timezone_set('Asia/Ho_Chi_Minh').

Sau đó các bạn dùng hàm : echo date('d/m/Y - H:i:s');

ra đúng kết quả time ở Việt Nam.

Ví dụ:

date_default_timezone_set('Asia/Ho_Chi_Minh');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '
';
}
echo date('d/m/Y H:i:s');

Ví dụ trên có 1 hàm cũng khá quan trọng : date_default_timezone_get()  trả về timezone mặc định của server bạn đang chạy hoặc là đã được thiết lập thông qua date_default_timezone_set().

Qua bài viết hy vọng các bạn có thêm kiến thức khi xử lý ngày tháng trong PHP.

Làm việc với ngày tháng và thời gian đó là công việc phổ biến của người lập trình web. Trong phiên bản PHP 5.2 lớp DateTime đã được giới thiệu. Trong bài viết này, chúng ta cùng nhau tìm hiểu cách sử dụng DateTime trong PHP.

Xem thêm:

Lập trình Web với ngôn ngữ PHP

Lập trình PHP cơ bản

Contents

  • 1 Hàm Date() trong PHP
    • 1.1 Cú pháp
  • 2 Lấy ngày đơn giản
  • 3 Cách tự động hiển thị năm bản quyền
  • 4 Lấy thời gian đơn giản
  • 5 Lấy múi giờ

Hàm Date() trong PHP

Hàm date() được sử dụng để định dạng ngày hoặc thời gian. Nó sẽ định dạng thời gian sao cho dễ đọc hơn.

Cú pháp

date(format,timestamp)

Trong đó:

format: Bắt buộc. Xác định định dạng của dấu thời gian

timestamp: Không bắt buộc. xác định dấu thời gian. mặc định là ngày và giờ hiện tại

Chú ý: timestamp là một dãy ký tự, biểu thị thời gian hoặc thời gian xảy ra sự kiện nhất định.

Lấy ngày đơn giản

Tham số định dạng bắt buộc của hàm date () xác định cách định dạng ngày tháng (hoặc thời gian)

Đây là một số ký tự thường được sử dụng cho ngày tháng:

– d – đại diện cho ngày trong tháng (01 đến 31)

– m – đại diện cho một tháng (01 đến 12)

– y – đại diện cho một năm (bằng bốn chữ số)

– l (chữ thường ‘l’) – đại diện cho ngày trong tuần

Các ký tự khác, như “/”, “.” hoặc “-” cũng có thể được chèn giữa các ký tự để thêm định dạng bổ sung.

Ví dụ dưới đây định dạng ngày hiện hành bằng ba cách khác nhau:

Chúng ta sẽ được kết quả như sau:

Cách tự động hiển thị năm bản quyền

Lấy thời gian đơn giản

Đây là một số ký tự thường được sử dụng cho thời gian:

– h – Định dạng 12 giờ một giờ với số không ở đầu (01 đến 12)

– i – phút với số không ở đầu (00 đến 59)

– s – giây với các số không ở đầu (00 đến 59)

– a – Lowercase Ante meridiem and Post meridiem (am or pm)

Ví dụ dưới đây xuất ra thời gian hiện tại ở định dạng được chỉ định:

Chú ý: Hàm date () sẽ trả lại ngày hiện hành theo thời gian của máy chủ chứ không phải của máy tính người dùng.

Lấy múi giờ

Nếu thời gian trả về không đúng, có thể vì máy chủ của bạn ở quốc gia khác hoặc được thiết lập cho múi giờ khác. Do đó, nếu bạn cần thời gian  chính xác theo một địa điểm cụ thể, bạn có thể thiết lập một múi giờ để sử dụng.

Ví dụ dưới đây đặt múi giờ thành “America / New_York”, sau đó xuất ra thời gian hiện tại ở định dạng được chỉ định:

Xem thêm: Dịch vụ thiết kế Website

Hot Trend: bảng chữ cái tiếng Việt, bảng chữ cái tiếng Nhật, font chữ đẹp, font vni, Dạy Học mat xa, dạy massage body, Mi Katun