Hướng dẫn dùng rfc-3339 trong PHP

Ngày nhập của tôi là 2014-03-10 05:40:00. Làm thế nào tôi có thể chuyển đổi nó sang định dạng RFC như thế 2014-3-10T05:40:00.000-00:00nào?

  • php

12 hữu ích 0 bình luận 23k xem chia sẻ

answer

23

RFC3339 là một trong những hằng số định dạng được xác định trước của DateTimelớp.

$inputDate = "2014-03-10 05:40:00";

$datetime = \DateTime::createFromFormat["Y-m-d H:i:s", $inputDate];

echo $datetime->format[\DateTime::RFC3339];

23 hữu ích 0 bình luận chia sẻ

answer

23

ở đây một tùy chọn khác được thêm vào trong php5 như thế này

$datetime= date["c", strtotime["2014-03-10 05:40:00"]];
echo $datetime;  //Output : 2014-03-10T05:40:00+00:00 

23 hữu ích 0 bình luận chia sẻ

answer

13

Tôi muốn thêm rằng các hằng số được xác định trước cho điều này cũng có thể được sử dụng với date[]. Cả hai:

date[DATE_RFC3339];

date[DATE_ATOM];

trả về chuỗi ngày giờ được định dạng RFC3339 và tương đương với:

date['Y-m-d\TH:i:sP'];

13 hữu ích 0 bình luận chia sẻ

Đăng nhập để trả lời câu hỏi

Có thể bạn quan tâm

answer

32

Tôi không biết chính xác những gì có trong $row['Time']đó nhưng nó phải như sau:

Định nghĩa

Ngày-giờ hợp lệ như được định nghĩa trong RFC 3339 với các tiêu chuẩn bổ sung sau:

  • các ký tự chữ T và Z trong cú pháp ngày / giờ phải luôn là chữ hoa
  • thay vào đó, sản xuất theo năm tháng được định nghĩa là bốn hoặc nhiều chữ số đại diện cho một số lớn hơn 0

Các ví dụ

  • 1990-12-31T23: 59: 60Z
  • 1996-12-19T16: 39: 57-08: 00

Giải pháp

Để tạo định dạng RFC 3339 trong PHP, bạn có thể sử dụng:

echo date['Y-m-d\TH:i:sP', $row['Time']];

hoặc theo cách khác:

echo date["c", strtotime[$row['Time']]];  

hoặc nếu bạn thích phong cách khách quan:

echo [new DateTime[$row['Time']]]->format['c'];

Trong mã của bạn

Vì vậy, trong mã của bạn, nó sẽ trông như sau:

Chủ Đề