Câu trả lời:
strtotime làm cho một chuỗi ngày thành dấu thời gian. Bạn muốn làm ngược lại, đó là ngày . Định dạng ngày mys mys điển hình là date('Y-m-d H:i:s');
Kiểm tra trang thủ công để biết các chữ cái khác thể hiện điều gì.
Nếu bạn có dấu thời gian mà bạn muốn sử dụng (rõ ràng là bạn làm), đó là đối số thứ hai của date()
.
echo date('m/d/Y', strtotime($current_date_variable);
Tôi vừa thêm H: i: s vào câu trả lời của Rocket để có được thời gian cùng với ngày.
echo date('m/d/Y H:i:s', 1299446702);
Đầu ra: 03/06/2011 16:25:02
$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';
$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);
kết quả: 2016-06-07 14:29:00
Các múi giờ khác:
Nếu bạn đang sử dụng PHP date()
, bạn có thể sử dụng mã này để lấy ngày, giờ, giây, v.v.
$time = time(); // you have 1299446702 in time
$year = $time/31556926 % 12; // to get year
$week = $time / 604800 % 52; // to get weeks
$hour = $time / 3600 % 24; // to get hours
$minute = $time / 60 % 60; // to get minutes
$second = $time % 60; // to get seconds
$year = date('Y', $time)
Tôi biết đó là một câu hỏi cũ, nhưng nó rất cao trong kết quả tìm kiếm.
Nếu bất cứ ai muốn chuyển đổi dấu thời gian trực tiếp sang đối tượng DateTime, có một lớp lót đơn giản:
$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);
Theo nhận xét @sromero, tham số múi giờ (tham số thứ 3 trong DateTime :: createFromFormat ()) bị bỏ qua khi dấu thời gian unix được thông qua, do đó mã dưới đây là không cần thiết.
$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored
Bạn có thể kiểm tra hướng dẫn sử dụng PHP cho DateTime :: createdFromFormat để biết thêm thông tin và tùy chọn.
Thử nó.
<?php
$timestamp=1333342365;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
Bạn có thể thử điều này:
$mytimestamp = 1465298940;
echo gmdate("m-d-Y", $mytimestamp);
Đầu ra:
06-07-2016
Trừ khi bạn cần một định dạng ngày và giờ tùy chỉnh, nó sẽ dễ dàng hơn, ít bị lỗi hơn và dễ đọc hơn để sử dụng một trong các hằng số định dạng ngày giờ tích hợp :
echo date(DATE_RFC822, 1368496604);
echo date("l M j, Y",$res1['timep']);
Điều này thực sự tốt để chuyển đổi dấu thời gian unix thành ngày có thể đọc được cùng với ngày. Ví dụ: Thứ năm ngày 7 tháng 7 năm 2016
$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
Trong các ví dụ ở trên "r" và "Ymd H: i: s" là các định dạng ngày của PHP, các ví dụ khác:
r ----- Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c ----- 2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y ----- Mar/15/2017
d-m-Y ----- 15-03-2017
Y-m-d H:i:s ----- 2017-03-15 12:00:00