2013-05-13 44 views
14

định dạng ngày của tôi là một cái gì đó như thế nàychuyển đổi sang định dạng Z T

2013-05-07 18:56:57 (yyyy-MM-dd hh:mm:ss) 

Tôi muốn đầu ra như sau.

2013-05-07T06:17:55.827Z 

Có cách nào đơn giản hơn là sử dụng các chức năng lớn không?

Trả lời

8

này nên cung cấp cho các hợp ISO8601 ngày/giờ trong Z (Ulu) múi giờ:

str_replace('+00:00', 'Z', gmdate('c')) 

Để làm được một sự chuyển đổi date:

str_replace('+00:00', 'Z', gmdate('c', strtotime('2013-05-07 18:56:57'))) 

Để có thêm .000 (đó là IMHO vô dụng):

str_replace('+00:00', '.000Z', gmdate('c', strtotime('2013-05-07 18:56:57'))) 
+0

nơi tôi nên vượt qua ngày của mình ở đây ?? – sandy

+0

@sandy Đó là đối số thứ hai cho 'gmdate()'. –

+0

tôi đã thử nó không hoạt động .. tôi đã thử như str_replace này ('+ 00:00', 'Z', gmdate ('c', '2013-05-07 18:56:57')); – sandy

19

Hãy thử điều này:

01.
date("Y-m-d\TH:i:s.000\Z", strtotime("2013-05-07 18:56:57")); 
+0

tôi có thể làm điều đó .000 động không? – sandy

+0

Toàn bộ ý tưởng của hậu tố 'Z' là ngày được biểu diễn dưới dạng UTC; 'date()' không thực hiện điều đó vì phải tính đến múi giờ địa phương. –

+0

Dữ liệu php mặc định không chứa mili giây, nhưng nếu bạn làm việc với ngày hiện tại, bạn có thể sử dụng hàm microtime() để lấy nó – Eugene

Các vấn đề liên quan