Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

Tôi có một trường ngày trên cơ sở dữ liệu của tôi. định dạng ngày như sau.

June 17, 2013

Tôi đang sử dụng định dạng như

date("F j, Y");

Vì vậy, câu hỏi của tôi có cách nào mà tôi có thể hiển thị ngày này ở định dạng RFC-822 bằng PHP không? Hay tôi cần bắt đầu lưu ngày ở định dạng RFC-822 kể từ bây giờ? Cảm ơn trước.

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

hỏi ngày 17 tháng 6 năm 2013 lúc 6:50Jun 17, 2013 at 6:50

2

Sử dụng cú pháp sau, bạn có thể hiển thị thời gian hiện tại ở định dạng RFC822.

$date = new DateTime('2000-01-01');
echo $date->format(DateTime::RFC822);

Đã trả lời ngày 17 tháng 6 năm 2013 lúc 6:53Jun 17, 2013 at 6:53

DevZer0DevZer0DevZer0

13.4K6 Huy hiệu vàng25 Huy hiệu bạc51 Huy hiệu Đồng6 gold badges25 silver badges51 bronze badges

0

Neither.

Từ giờ bạn phải bắt đầu sử dụng định dạng được cung cấp bởi cơ sở dữ liệu. Bạn phải hiểu sự khác biệt giữa định dạng lưu trữ và định dạng hiển thị. Đó là những vấn đề khác nhau. Khi lưu trữ dữ liệu trong MySQL, bạn phải tuân theo các quy tắc MySQL. Vì vậy, thay vì June 17, 2013 bạn phải lưu trữ

date("F j, Y");
0.
You have to understand the difference between storage format and display formatting. It's different matters. When storing data in mysql, you have to follow mysql rules. So, instead of June 17, 2013 you have to store
date("F j, Y");
0.

Và sau đó chuyển đổi ở đầu ra sang bất kỳ định dạng nào cần thiết - không giới hạn ở một định dạng duy nhất nhưng bất kỳ định dạng nào được yêu cầu theo điểm đến.

Đã trả lời ngày 17 tháng 6 năm 2013 lúc 6:58Jun 17, 2013 at 6:58

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

Ý thức chung thông thường của bạnYour Common Sense

156K39 Huy hiệu vàng208 Huy hiệu bạc331 Huy hiệu Đồng39 gold badges208 silver badges331 bronze badges

2

Không có câu trả lời nào khác làm việc cho tôi, vì vậy đây là những gì đã hoạt động ... để hẹn hò với PHP và xuất nó trong RFC822:

date("D, d M Y G:i:s T", strtotime($date));

Hy vọng điều đó sẽ giúp người khác.

Đã trả lời ngày 25 tháng 4 năm 2017 lúc 15:16Apr 25, 2017 at 15:16

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

Dan Goodspeeddan GoodspeedDan Goodspeed

3,4424 Huy hiệu vàng24 Huy hiệu bạc35 Huy hiệu Đồng4 gold badges24 silver badges35 bronze badges

2

Như đã chỉ ra rằng đặt cược tốt nhất của bạn là thay đổi cách bạn đang lưu trữ ngày của mình thành một thứ khác sau đó là một chuỗi.

date("F j, Y");
1 có thể hỗ trợ bạn trong nỗ lực này.

Nhưng để giải quyết nhu cầu ngay lập tức, bạn có thể sử dụng Strtotime, Date và hằng số DATE_RFC822 để có được những gì bạn đang tìm kiếm.

echo date(DATE_RFC822, strtotime($value));

Xem ví dụ đầu tiên về tài liệu ngày PHP

Đã trả lời ngày 17 tháng 6 năm 2013 lúc 6:55Jun 17, 2013 at 6:55

OrangePillorangepillOrangepill

24.4K3 Huy hiệu vàng40 Huy hiệu bạc63 Huy hiệu Đồng3 gold badges40 silver badges63 bronze badges

Như @ashleedawg và những người khác đã đề cập trong một số bình luận, giải pháp đơn giản nhất hoạt động:

date("D, d M Y H:i:s O", strtotime($date));

Tâm trí "H" và "O";) Cảm ơn!
Thanks!

Đã trả lời ngày 24 tháng 11 năm 2020 lúc 10:59Nov 24, 2020 at 10:59

Romekromkromek

5551 Huy hiệu vàng5 Huy hiệu bạc13 Huy hiệu đồng1 gold badge5 silver badges13 bronze badges

date_format (ngày (trường cơ sở dữ liệu của bạn), ' %d, %j %m %t'))

và loại định dạng bạn muốn chỉ cần xem định dạng ngày và thời gian liên kết cho MySQL

Đã trả lời ngày 17 tháng 6 năm 2013 lúc 7:33Jun 17, 2013 at 7:33

Bạn có thể lưu nó dưới dạng dấu thời gian trong cơ sở dữ liệu và hiển thị định dạng RFC822

date(DATE_RFC822, time());

Đã trả lời ngày 23 tháng 12 năm 2016 lúc 18:51Dec 23, 2016 at 18:51

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

YuseferiyuseferiYuseferi

7.19711 Huy hiệu vàng61 Huy hiệu bạc96 Huy hiệu Đồng11 gold badges61 silver badges96 bronze badges

1

Đây là giải pháp duy nhất làm việc cho tôi:

date("D, d M Y H:i:s T", strtotime($date));

Các ví dụ khác ở trên không hoạt động bao gồm sử dụng trình xác định định dạng DATE_RFC822, đưa ra một năm 2 chữ số, thay vì 4 chữ số. Sau đó, đề xuất khác để sử dụng G: I: S về thời gian không hoạt động vì G chỉ định không có số 0 hàng đầu, vì vậy bạn sẽ nhận được 2:00:00 thay vì 02:00:00.

Đã trả lời ngày 6 tháng 7 năm 2020 lúc 2:01Jul 6, 2020 at 2:01

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

không sử dụng T ở cuối mà là "O", nó hoạt động với tôi

Đã trả lời ngày 11 tháng 8 năm 2021 lúc 14:45Aug 11, 2021 at 14:45

Hướng dẫn php convert rfc 2822 date to timestamp - php chuyển đổi ngày rfc 2822 thành dấu thời gian

1

Nếu bạn muốn hẹn hò với định dạng một cái gì đó trong PHP cho RFC-822, thì hãy làm điều này ...RFC-822 , then just do this...

date('r', strtotime($date))

date("F j, Y");
2 »RFC 2822 Ví dụ về ngày: Thu, ngày 21 tháng 12 năm 2000 16:01:07 +0200

Nguồn: php.net: DateFormatPHP.net: DateFormat

Nhưng, như đã nêu khác, bạn không muốn lưu trữ điều này trong cơ sở dữ liệu của mình! Tuy nhiên, bạn sẽ cần sử dụng

date("F j, Y");
3 cho những thứ khác, như các định dạng thời gian ngày XML-RSS ...

Tất cả thời gian ngày trong RSS phù hợp với đặc tả ngày và thời gian của RFC 822 ... (Nguồn: Đặc điểm kỹ thuật RSS 2.0.)RSS 2.0 Specification.)

Đã trả lời ngày 19 tháng 12 năm 2021 lúc 2:07Dec 19, 2021 at 2:07

HoldoffhungerHolderoffhungerHoldOffHunger

16.8k8 Huy hiệu vàng92 Huy hiệu bạc121 Huy hiệu đồng8 gold badges92 silver badges121 bronze badges

1