Sử dụng PHP, tôi muốn chuyển đổi dấu thời gian UNIX thành chuỗi ngày tương tự như sau: 2008-07-17T09:24:17Z
Làm cách nào để chuyển đổi dấu thời gian như 1333699439
sang 2008-07-17T09:24:17Z
?
Sử dụng PHP, tôi muốn chuyển đổi dấu thời gian UNIX thành chuỗi ngày tương tự như sau: 2008-07-17T09:24:17Z
Làm cách nào để chuyển đổi dấu thời gian như 1333699439
sang 2008-07-17T09:24:17Z
?
Câu trả lời:
Hãy thử gmdate
như thế này:
<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
date
và gmdate
đầu ra của sẽ khác nhau dựa trên biến TZ (ít nhất là trên * nix)
sử dụng chức năng ngày date ( string $format [, int $timestamp = time() ] )
Sử dụng date('c',time())
định dạng để chuyển đổi sang ngày ISO 8601 (được thêm vào PHP 5) -2012-04-06T12:45:47+05:30
sử dụng date("Y-m-d\TH:i:s\Z",1333699439)
để có được2012-04-06T13:33:59Z
Dưới đây là một số định dạng hỗ trợ chức năng ngày
<?php
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
?>
Giả sử bạn đang sử dụng PHP5.3 thì cách xử lý ngày hiện đại là thông qua lớp DateTime gốc . Để có được thời gian hiện tại, bạn chỉ cần gọi
$currentTime = new DateTime();
Để tạo một đối tượng DateTime từ dấu thời gian cụ thể (tức là không phải bây giờ)
$currentTime = DateTime::createFromFormat( 'U', $timestamp );
Để có được một chuỗi định dạng, sau đó bạn có thể gọi
$formattedString = $currentTime->format( 'c' );
Điều rất quan trọng là đặt múi giờ mặc định để có kết quả chính xác
<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');
// timestamp
$timestamp = 1307595105;
// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?>
Trợ giúp chuyển đổi trực tuyến: http://freeonlinetools24.com/timestamp
Z
được sử dụng để chỉ ra rằng đó là thời gian UTC, vì vậy múi giờ nên được đặt thànhUTC
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);
Điều này sẽ làm việc để.
Tôi thấy thông tin trong cuộc trò chuyện này hữu ích đến mức tôi chỉ muốn thêm cách tôi tìm ra nó bằng cách sử dụng dấu thời gian từ cơ sở dữ liệu MySQL của tôi và một ít PHP
<?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>
Đầu ra là: 2017-03-03T08: 22: 36 + 01: 00
Cảm ơn rất nhiều Stewe bạn trả lời là một eureka cho tôi.
Bạn có thể làm như .....
$originalDate = "1585876500";
echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
gmdate()
trả về ngày / giờ trong GMT.date()
sẽ trả lại ngày / giờ địa phương.