【问题标题】:Shorthand for HTML5 datetime-local-friendly date format (no timezone)?HTML5 datetime-local-friendly date format(无时区)的简写?
【发布时间】:2020-10-28 11:15:12
【问题描述】:

有没有快速将\DateTime 格式化为HTML-friendly Local date and time string(例如1986-01-28T11:38:00.01)的方法?

DATE_W3Cc 都将生成一个时区,这不适用于 datetime-local

我知道我可以使用"Y-m-d\TH:i:s",但很好奇现在是否有更优雅的速记?

【问题讨论】:

  • 更优雅是什么意思?你使用 datetime->format 来达到这个目的还不够优雅吗?
  • 我不是在谈论format() 本身,我是在谈论它的论点。我正在寻找Y-m-d\TH:i:s 的简写,这样可以更快地键入并避免对格式进行硬编码。
  • 在这种情况下,您可以使用\DateTimeInterface 中定义的常量之一。您可能正在寻找类似于:(new \DateTime)->format(\DateTimeInterface::ISO8601) 的内容。那里甚至还有 W3C 常量

标签: php datetime php-7


【解决方案1】:

您可以使用DateTimeInterface 上定义的常量之一:

const ATOM = 'Y-m-d\TH:i:sP';
const COOKIE = 'l, d-M-Y H:i:s T';
const ISO8601 = 'Y-m-d\TH:i:sO';
const RFC822 = 'D, d M y H:i:s O';
const RFC850 = 'l, d-M-y H:i:s T';
const RFC1036 = 'D, d M y H:i:s O';
const RFC1123 = 'D, d M Y H:i:s O';
const RFC2822 = 'D, d M Y H:i:s O';
const RFC3339 = 'Y-m-d\TH:i:sP';
const RFC3339_EXTENDED = 'Y-m-d\TH:i:s.vP';
const RFC7231 = 'D, d M Y H:i:s \G\M\T';
const RSS = 'D, d M Y H:i:s O';
const W3C = 'Y-m-d\TH:i:sP';

例子:

(new \DateTime)->format(\DateTimeInterface::W3C)

【讨论】:

  • 谢谢,这正是我需要的!
猜你喜欢
  • 2017-10-04
  • 1970-01-01
  • 2022-12-28
  • 2023-04-09
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
相关资源
最近更新 更多