Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

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

Tôi đang sử dụng API ngay bây giờ và nó cung cấp một kỷ nguyên. Tôi đã thử mọi thứ để chuyển đổi thời gian sử dụng này cho đến nay, nhưng dường như nó không hoạt động bao gồm

$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
8 và sau đó sử dụng chức năng
$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
9 để chuyển đổi nó.

Thời gian kỷ nguyên trông giống như 1353430853299. Có cách nào để làm điều này không?

$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
0 cũng không hoạt động.

Có vẻ như tất cả các bài đọc khác về thời gian kỷ nguyên là về việc thay đổi ngày thành epochtime, nhưng tôi đang tìm cách đi theo con đường khác. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.

Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

Nickhar

19.6K12 Huy hiệu vàng60 Huy hiệu bạc72 Huy hiệu đồng12 gold badges60 silver badges72 bronze badges

Đã hỏi ngày 20 tháng 11 năm 2012 lúc 16:36Nov 20, 2012 at 16:36

Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

user1701252user1701252user1701252

1.4911 Huy hiệu vàng11 Huy hiệu bạc19 Huy hiệu đồng1 gold badge11 silver badges19 bronze badges

Đã sửa nó bằng cách sử dụng chuỗi con ($ epoch, 0, 10) và sau đó sử dụng chức năng ngày cho bất kỳ ai tự hỏi về thời gian kỷ nguyên 13 chữ số.

Đây là mã mẫu:

$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
1

Tarik

4.05237 Huy hiệu bạc33 Huy hiệu đồng37 silver badges33 bronze badges

Đã trả lời ngày 20 tháng 11 năm 2012 lúc 16:55Nov 20, 2012 at 16:55

user1701252user1701252user1701252

1.4911 Huy hiệu vàng11 Huy hiệu bạc19 Huy hiệu đồng1 gold badge11 silver badges19 bronze badges

1

Có một vài cách khác nhau bạn có thể làm điều này.

Trước hết, những gì bạn đã có ở đó là thời gian của UNIX Epoch. (1/1/1970), điều đó làm cho mọi thứ dễ dàng hơn nhiều.

Trong PHP, hãy thử

$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

Để hiển thị ngày của bạn

HOẶC

Nếu bạn muốn ngày RFC232 dài:

$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
3

Đã trả lời ngày 20 tháng 11 năm 2012 lúc 16:42Nov 20, 2012 at 16:42

5

$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
4

Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

SPHINXXX

11.8K4 Huy hiệu vàng 50 Huy hiệu bạc79 Huy hiệu đồng4 gold badges50 silver badges79 bronze badges

Đã trả lời ngày 20 tháng 11 năm 2012 lúc 16:40Nov 20, 2012 at 16:40

RawKoderawKodeRawkode

21.7K5 Huy hiệu vàng38 Huy hiệu bạc45 Huy hiệu Đồng5 gold badges38 silver badges45 bronze badges

1

FYI, API gửi Epoch sử dụng dữ liệu JSON với millisecondes để tương thích với các trình duyệt web.

Tôi không biết tại sao PHP cần loại bỏ millisecondes, vì đây là tiêu chuẩn cho mọi trình duyệt web.

Vì vậy, bạn có thể sử dụng 10 hoặc / 1000 bên trái (tốt hơn là chia cho 1000 nếu bạn không muốn gặp rắc rối vào ngày 20 tháng 11 năm 2286 !!!)

Đã trả lời ngày 7 tháng 11 năm 2013 lúc 13:56Nov 7, 2013 at 13:56

Foxontherockfoxontherockfoxontherock

1.7461 Huy hiệu vàng13 Huy hiệu bạc15 Huy hiệu đồng1 gold badge13 silver badges15 bronze badges

Bạn chỉ cần chọn chỉ 10 chữ số từ định dạng Epochepoch format

$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
5

đầu ra sẽ giống như:

2021-05-16 15:02:25

Đã trả lời ngày 16 tháng 5 năm 2021 lúc 10:00May 16, 2021 at 10:00

Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

Điều này hoạt động khi bạn chia cho 1000:

$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
6

Trong ví dụ này, bạn sẽ nhận được

$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
1, vì vậy bạn phải làm tròn nó để loại bỏ phần phân số của số. Bạn cũng có thể sử dụng sàn nếu bạn không muốn nó tròn.

Hướng dẫn how to convert unix time to epoch time in php? - làm thế nào để chuyển đổi unix time sang epoch time trong php?

Máy đánh chữ

7411 Huy hiệu vàng11 Huy hiệu bạc24 Huy hiệu đồng1 gold badge11 silver badges24 bronze badges

Đã trả lời ngày 27 tháng 5 năm 2020 lúc 20:07May 27, 2020 at 20:07

Làm thế nào để bạn chuyển đổi ngày thành thời gian kỷ nguyên?

Chuyển đổi từ ngày có thể đọc được của con người sang epoch dài epoch = new java.text.simpledateformat ("mm/dd/yyyy hh: mm: ss"). Parse ("01/01/1970 01:00:) / 1000;Dấu thời gian trong vài giây, loại bỏ '/1000' cho mili giây.Ngày +%s -d "ngày 1 tháng 1 năm 1980 00:00:01" Thay thế '-d' bằng '-ud' để nhập vào thời gian GMT/UTC.long epoch = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000; Timestamp in seconds, remove '/1000' for milliseconds. date +%s -d"Jan 1, 1980 00:00:01" Replace '-d' with '-ud' to input in GMT/UTC time.

Epoch trong PHP là gì?

Hàm thời gian () trong PHP trả về thời gian hiện tại dưới dạng dấu thời gian UNIX.Nó trả về thời gian hiện tại được đo bằng số giây kể từ thời đại UNIX (ngày 1 tháng 1 năm 1970 00:00:00 GMT).January 1 1970 00:00:00 GMT).

Thời gian kỷ nguyên đượ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.

Thời gian () làm gì trong PHP?

Hàm Time () trả về thời gian hiện tại với số giây kể từ thời đại UNIX (ngày 1 tháng 1 năm 1970 00:00:00 GMT).returns the current time in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).