Hướng dẫn what is epoch in php? - kỷ nguyên trong php là gì?

Cách chuyển đổi dấu thời gian Epoch / UNIX thành ngày / giờ có thể đọc được bình thường bằng Php 7.

  • Nhận thời gian kỷ nguyên hiện tại trong PHP
  • Chuyển đổi từ thời đại sang ngày bình thường trong PHP
  • Chuyển đổi từ ngày bình thường sang kỷ nguyên trong PHP
  • Chuyển đổi múi giờ trong PHP
  • Thêm năm/tháng vào một ngày trong PHP
  • Bình luận

Nhận thời gian kỷ nguyên hiện tại trong PHP

Chuyển đổi từ thời đại sang ngày bình thường trong PHP

time()  // current Unix timestamp
microtime(true) // microtime returns timestamp with microseconds (param: true=float, false=string)

Chuyển đổi từ ngày bình thường sang kỷ nguyên trong PHP

Chuyển đổi múi giờ trong PHP

$epoch = 1483228800;
echo date('r', $epoch); // output as RFC 2822 date - returns local time
echo gmdate('r', $epoch); // returns GMT/UTC time: Sun, 01 Jan 2017 00:00:00 +0000

Thêm năm/tháng vào một ngày trong PHP

Bình luận

$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

Thời gian trả về một số nguyên với kỷ nguyên hiện tại:

Chuyển đổi từ thời đại sang ngày có thể đọc được trong PHP1. Sử dụng hàm 'ngày'.
Bạn có thể sử dụng mã múi giờ bên dưới (date_default_timezone_set) để chuyển múi giờ của ngày đầu vào.2. Sử dụng lớp DateTime.
Trong các ví dụ trên "R" và "Y-M-D H: I: S" là các định dạng ngày PHP, các ví dụ khác:Định dạng
Đầu rar
Thứ tư, ngày 15 tháng 3 năm 2017 12:00:00 +0100 (ngày RFC 2822)c
2017-03-15T12: 00: 00+01: 00 (ngày ISO 8601)M/d/y

Mar/15/2017

D-M-y

Convert from human-readable date to epoch in PHP

15-03-2017

Y-M-D H: I: S & NBSP;

2017-03-15 12:00:00

echo strtotime("15 November 2017");
// ... or ...
echo strtotime("2017/11/15");
// ... or ...
echo strtotime("+10 days"); // 10 days from now

Đầy đủ danh sách các tùy chọn định dạng

if ((strtotime("this is no date")) === false) {
   echo 'failed';
}

& nbsp; chuyển đổi từ ngày có thể đọc được của con người sang kỷ nguyên trong PHP

Có nhiều lựa chọn:

// object oriented
$date = new DateTime('01/15/2017'); // format: MM/DD/YYYY
echo $date->format('U');

// or procedural
$date = date_create('01/15/2017');
echo date_format($date, 'U');

1. Sử dụng 'Strtotime':

Strtotime phân tích cú pháp hầu hết các văn bản ngày tiếng Anh đến thời gian epoch/unix.

Điều quan trọng là kiểm tra xem việc chuyển đổi có thành công không:

// PHP 5.1+
date_default_timezone_set('UTC');  // optional
mktime ( $hour, $minute, $second, $month, $day, $year );

// example: generate epoch for Jan 1, 2000 (all PHP versions)
echo mktime(0, 0, 0, 1, 1, 2000);

2. Sử dụng lớp DateTime:
 

Lớp DateTime PHP đẹp hơn để sử dụng:

Định dạng ngày 'U' chuyển đổi ngày thành dấu thời gian UNIX.
The PHP time zone handling takes care of daylight saving times (list of available time zones).

Examples:

3. Sử dụng 'mktime':

Convert date/time to another time zone

$TimeStr="2017-01-01 12:00:00";
$TimeZoneNameFrom="UTC";
$TimeZoneNameTo="Europe/Amsterdam";
echo date_create($TimeStr, new DateTimeZone($TimeZoneNameFrom))
	->setTimezone(new DateTimeZone($TimeZoneNameTo))->format("Y-m-d H:i:s");

Phiên bản này là một rắc rối hơn nhưng hoạt động trên bất kỳ phiên bản PHP nào.
Thanks to Albert Scholtalbers.

Tất cả các thói quen PHP này không thể xử lý ngày trước ngày 13 tháng 12 năm 1901. & nbsp;

Adding or subtracting years/months to a date

Đặt múi giờ của bạn

$currentDate =  time(); // get current date
echo "It is now: ".date("Y-m-d H:i:s", $currentDate)."\n ";
$date = strtotime(date("Y-m-d H:i:s", $currentDate) . " +1 year"); // add 1 year to current date
echo "Date in epoch: ".$date."\n ";
echo "Readable date: ".date("Y-m-d H:i:s",$date)."\n ";

Sử dụng DATE_DEFAULT_TIMEZONE_SET để đặt/ghi đè múi giờ của bạn. Xử lý múi giờ PHP chăm sóc thời gian tiết kiệm ánh sáng ban ngày (danh sách các múi giờ có sẵn).

date_default_timezone_set('Europe/Amsterdam');
date_default_timezone_set('America/New York');
date_default_timezone_set('EST');
date_default_timezone_set('UTC');
& nbsp; chuyển đổi ngày/thời gian sang múi giờ khác

« Epoch Converter Functions

(Php 4, Php 5, Php 7, Php 8)

Thời gian - Trả lại dấu thời gian UNIX hiện tạiReturn current Unix timestamp

Sự mô tả

thời gian (): int(): int

Ghi chú::

Dấu thời gian UNIX không chứa bất kỳ thông tin nào liên quan đến bất kỳ timezone địa phương nào. Nên sử dụng lớp DateTimeMimTable để xử lý thông tin ngày và thời gian để tránh những cạm bẫy đi kèm với dấu thời gian UNIX.DateTimeImmutable class for handling date and time information in order to avoid the pitfalls that come with just Unix timestamps.

Thông số

Chức năng này không có tham số.

Trả về giá trị

Trả về dấu thời gian hiện tại.

Ví dụ

Ví dụ #1 Thời gian () Ví dụtime() example

$epoch = 1483228800;
echo date('r', $epoch); // output as RFC 2822 date - returns local time
echo gmdate('r', $epoch); // returns GMT/UTC time: Sun, 01 Jan 2017 00:00:00 +0000
2

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

Ghi chú

Xem thêm

  • Datetimeimmutable
  • date () - định dạng dấu thời gian unix
  • Microtime () - Trả về dấu thời gian UNIX hiện tại với micro giây

Tại sao Epoch 1970?

Ngày 1 tháng 1 năm 1970 lúc 00:00:00 UTC được gọi là Epoch Unix.Các kỹ sư UNIX ban đầu đã chọn ngày đó một cách tùy tiện vì họ cần thiết lập một ngày thống nhất cho thời gian bắt đầu và Ngày đầu năm mới, 1970, dường như thuận tiện nhất.because they needed to set a uniform date for the start of time, and New Year's Day, 1970, seemed most convenient.

Tại sao nó được gọi là thời gian kỷ nguyên?

Thời gian Unix là số giây đã trôi qua kể từ 00:00:00 UTC vào ngày 1 tháng 1 năm 1970, không bao gồm những giây nhảy.Lần này được đặt tên là Epoch Unix, bởi vì đây là khởi đầu của thời gian UNIX.because it is the start of the Unix time.

Epoch trong API là gì?

Một dấu thời gian của Epoch là một cách đo thời gian trong lập trình: đó là số giây đã trôi qua kể từ đầu ngày vào ngày 1 tháng 1 năm 1970. Dữ liệu đám mây Campbell sử dụng dấu thời gian của Epoch.Để tạo thành công các yêu cầu API, ngày và thời gian hàng ngày cần được chuyển đổi thành dấu thời gian kỷ nguyên.a way of measuring time in programming: it is the number of seconds that have elapsed since the start of the day on January 1st, 1970. Campbell Cloud data uses epoch timestamps. In order to successfully create API requests, everyday date and time needs to be converted into epoch timestamps.

Epoch được tính toán như thế nào?

Công thức chênh lệch thời gian kỷ nguyên nhân sự khác biệt tuyệt đối của hai ngày với 86400 để có thời gian kỷ nguyên tính bằng giây - sử dụng các ngày ví dụ trên, là 319080600.Multiply the two dates' absolute difference by 86400 to get the Epoch Time in seconds – using the example dates above, is 319080600.