Hướng dẫn php set timezone eastern - php đặt múi giờ phía đông

Cách dễ nhất để có được phần bù UTC trong PHP, so với múi giờ (hệ thống) hiện tại là gì?

Nội phân chính

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ timezone php UTC hoặc đặt câu hỏi của riêng bạn.
  • Làm thế nào để tôi nhận được thời gian bù thời gian?
  • Làm cách nào để có được múi giờ người dùng?
  • Làm thế nào để tôi có được thời gian của Trình duyệt máy khách ở cuối PHP?
  • Thời gian bù là gì?

Nội phân chính

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ timezone php UTC hoặc đặt câu hỏi của riêng bạn.
  • Làm thế nào để tôi nhận được thời gian bù thời gian?
  • Làm cách nào để có được múi giờ người dùng?
  • Làm thế nào để tôi có được thời gian của Trình duyệt máy khách ở cuối PHP?
  • Thời gian bù là gì?

Nội phân chính

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ timezone php UTC hoặc đặt câu hỏi của riêng bạn.
  • Làm thế nào để tôi nhận được thời gian bù thời gian?
  • Làm cách nào để có được múi giờ người dùng?
  • Làm thế nào để tôi có được thời gian của Trình duyệt máy khách ở cuối PHP?
  • Thời gian bù là gì?

Nội phân chính

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ timezone php UTC hoặc đặt câu hỏi của riêng bạn.
  • Làm thế nào để tôi nhận được thời gian bù thời gian?
  • Làm cách nào để có được múi giờ người dùng?
  • Làm thế nào để tôi có được thời gian của Trình duyệt máy khách ở cuối PHP?
  • Thời gian bù là gì?

Hỏi ngày 11 tháng 10 năm 2008 lúc 0:58Oct 11, 2008 at 0:58

Adam Ernstadam ErnstAdam Ernst

50.3K18 Huy hiệu vàng58 Huy hiệu bạc71 Huy hiệu đồng18 gold badges58 silver badges71 bronze badges

  date('Z');

Trả về độ lệch UTC trong giây.

Đã trả lời ngày 11 tháng 10 năm 2008 lúc 1:06Oct 11, 2008 at 1:06

4

// will output something like +02:00 or -04:00
echo date('P');

Ole V.V.

77.5K15 Huy hiệu vàng122 Huy hiệu bạc146 Huy hiệu đồng15 gold badges122 silver badges146 bronze badges

Đã trả lời ngày 15 tháng 3 năm 2016 lúc 20:17Mar 15, 2016 at 20:17

2

timezone_offset_get()

$this_tz_str = date_default_timezone_get();
$this_tz = new DateTimeZone($this_tz_str);
$now = new DateTime("now", $this_tz);
$offset = $this_tz->getOffset($now);

Chưa được kiểm tra, nhưng nên hoạt động

Đã trả lời ngày 11 tháng 10 năm 2008 lúc 1:06Oct 11, 2008 at 1:06

Ole V.V.John Millikin

77.5K15 Huy hiệu vàng122 Huy hiệu bạc146 Huy hiệu đồng39 gold badges211 silver badges222 bronze badges

1

Đã trả lời ngày 15 tháng 3 năm 2016 lúc 20:17

date_default_timezone_set('America/New_York');
$utc_offset =  date('Z') / 3600;

Chưa được kiểm tra, nhưng nên hoạt động

John Millikinjohn Millikin

Phim thương hiệu vàng 193K39Jun 9, 2015 at 15:08

Tôi đã làm một phiên bản sửa đổi một chút về những gì Oscar đã làm.Kenny

Điều này đã cho tôi sự bù đắp từ múi giờ của tôi, EST, đến UTC, trong vài giờ.2 gold badges21 silver badges30 bronze badges

Giá trị của $ UTC_OFFSET là -4.


Đã trả lời ngày 9 tháng 6 năm 2015 lúc 15:08May 29, 2017 at 21:33

Kennykennyزياد

2.1202 Huy hiệu vàng21 Huy hiệu bạc 30 Huy hiệu Đồng10 silver badges14 bronze badges

19

Đây là cùng chức năng JavaScript

// will output something like +02:00 or -04:00
echo date('P');
0:

//Object oriented style
function getUTCOffset_OOP($timezone)
{
    $current   = timezone_open($timezone);
    $utcTime  = new \DateTime('now', new \DateTimeZone('UTC'));
    $offsetInSecs =  $current->getOffset($utcTime);
    $hoursAndSec = gmdate('H:i', abs($offsetInSecs));
    return stripos($offsetInSecs, '-') === false ? "+{$hoursAndSec}" : "-{$hoursAndSec}";
}

//Procedural style
function getUTCOffset($timezone)
{
    $current   = timezone_open($timezone);
    $utcTime  = new \DateTime('now', new \DateTimeZone('UTC'));
    $offsetInSecs =  timezone_offset_get( $current, $utcTime);
    $hoursAndSec = gmdate('H:i', abs($offsetInSecs));
    return stripos($offsetInSecs, '-') === false ? "+{$hoursAndSec}" : "-{$hoursAndSec}";
}


$timezone = 'America/Mexico_City';

echo "Procedural style
"; echo getUTCOffset($timezone); //-06:00 echo "
"; echo "(UTC " . getUTCOffset($timezone) . ") " . $timezone; // (UTC -06:00) America/Mexico_City echo "
--------------
"; echo "Object oriented style
"; echo getUTCOffset_OOP($timezone); //-06:00 echo "
"; echo "(UTC " . getUTCOffset_OOP($timezone) . ") " . $timezone; // (UTC -06:00) America/Mexico_City

Đã trả lời ngày 29 tháng 5 năm 2017 lúc 21:33Mar 23, 2018 at 17:31

زازادHMagdy

89210 Huy hiệu bạc14 Huy hiệu đồng33 silver badges52 bronze badges

2

Đơn giản là bạn có thể làm điều này:

echo date('O');

Đã trả lời ngày 23 tháng 3 năm 2018 lúc 17:31

Sat, 07 Sep 2002 00:00:01 -0500

Hmagdyhmagdy

2.87133 huy hiệu bạc52 Huy hiệu đồng

  • Điều này sẽ xuất ra một cái gì đó được định dạng là:
    // will output something like +02:00 or -04:00
    echo date('P');
    
    1 hoặc
    // will output something like +02:00 or -04:00
    echo date('P');
    
    2:
  • Điều này có thể hữu ích cho định dạng RSS RFC822 thích hợp
  • Sự bù đắp của GMT (như thế này) không nên sử dụng dấu hai chấm (
    // will output something like +02:00 or -04:00
    echo date('P');
    
    3 từ
    // will output something like +02:00 or -04:00
    echo date('P');
    
    4).

Và, mặc dù có thể chấp nhận được đối với RSS RFC833, chúng tôi không muốn đầu ra như

// will output something like +02:00 or -04:00
echo date('P');
5 và
// will output something like +02:00 or -04:00
echo date('P');
6 vì đây là những điều đó là tùy ý và "CST" có thể có nghĩa là nhiều điều:Apr 7 at 5:23

CST = Giờ tiêu chuẩn trung tâmJesse יִשַׁי

CST = Thời gian tiêu chuẩn Trung Quốc1 gold badge7 silver badges22 bronze badges

CST = Cuba Giờ chuẩn


Đã trả lời ngày 7 tháng 4 lúc 5:23

Jesse ִשַׁJan 5, 2013 at 15:55

6051 Huy hiệu vàng7 Huy hiệu bạc22 Huy hiệu đồngAmr

// will output something like +02:00 or -04:00
echo date('P');
7 sẽ trả về phần bù UTC liên quan đến múi giờ của máy chủ chứ không phải múi giờ máy của người dùng. Để có được múi giờ máy của người dùng, bạn có thể sử dụng chức năng JavaScript
// will output something like +02:00 or -04:00
echo date('P');
8 để trả về chênh lệch thời gian giữa thời gian UTC và thời gian cục bộ, trong vài phút.6 gold badges44 silver badges58 bronze badges

3

Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ timezone php UTC hoặc đặt câu hỏi của riêng bạn.

Làm thế nào để tôi nhận được thời gian bù thời gian?

Và trong

// will output something like +02:00 or -04:00
echo date('P');
9 giữ mã PHP của bạn, bạn có thể làm bất cứ điều gì bạn muốn với giá trị bù đó. Hoặc thay vì chuyển hướng đến một trang khác, bạn có thể gửi giá trị bù cho tập lệnh PHP của bạn thông qua AJAX, theo nhu cầu của bạn.getTimezoneOffset() returns the difference between UTC time and local time. getTimezoneOffset() returns the difference in minutes. For example, if your time zone is GMT+2, -120 will be returned.

Làm cách nào để có được múi giờ người dùng?

Đã trả lời ngày 5 tháng 1 năm 2013 lúc 15:55using the PHP function date_default_timezone_set . This sets the specified time zone for users. Basically the users' time zone is goes to the client side, so we must use JavaScript for this. Below is the script to get users' time zone using PHP and JavaScript.

Làm thế nào để tôi có được thời gian của Trình duyệt máy khách ở cuối PHP?

AmramrGet the timezone offset of the browser with Javascript, and sent it to PHP (via AJAX or something). Convert the timezone offset to a valid TZ Database timezone name such as America/New_York, Asia/Kolkata.

Thời gian bù là gì?

4.3536 Huy hiệu vàng44 Huy hiệu bạc58 Huy hiệu Đồngthe difference in hours and minutes between a particular time zone and UTC. In ISO 8601, the particular zone offset can be indicated in a date or time value. The zone offset can be Z for UTC or it can be a value "+" or "-" from UTC.