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:00
nà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 DateTime
lớ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];
và
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: