【问题标题】:PHP time section of date as text日期的PHP时间部分作为文本
【发布时间】:2014-10-09 13:05:05
【问题描述】:

是否可以将时间信息打印为文本而不是数字?

我知道 PHP 可以将日期打印为文本,如下例所示:

// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

但是,我正在寻找一种解决方案来获取时间部分,即:e date('h:i:s A'),作为文本。

【问题讨论】:

  • 有可能。只需编写一个将时间转换为单词的函数。但是 PHP 中没有任何原生功能可以做到这一点。
  • 你想让它打印什么,“下午 3 点后 12 分 46 秒”?
  • 我在这里也遗漏了一些东西。 h:i:s A 将返回 "03:12:46 PM" 你想让它做什么?
  • @Barmar:这正是我想要实现的目标

标签: php datetime text time


【解决方案1】:

PHP 中没有任何内置功能允许这样做 - 但可以通过编程方式完成。

一个例子(遗憾的是不在 SO):http://www.dynamicdrive.com/forums/showthread.php?69321-A-clock-but-displayed-as-words/page3 应该给你一些指示。

【讨论】:

  • 谢谢史蒂夫,我会调查的
【解决方案2】:

这样就可以了

$val =  date('A');
echo date('i \m\i\n\u\t\e\s s \s\e\c\o\n\d\s \a\f\t\e\r h \o\'\c\l\o\c\k ');
echo (($val=="PM")?"in the afternoon":"in the morning");
//01 minutes 56 seconds after 07 o'clock in the afternoon

【讨论】:

  • 你为什么要转义每个字符,而不是echo date('i')."minutes ".date('s')." seconds after ".date('h')." o'clock";
  • @RyanB B- 但是用三个函数代替一个函数好吗?我很困惑它是否有效。
  • 抱歉耽搁了,但我的方式会增加一些加载时间,可能是半毫秒或更短。但是,请考虑编辑与加载的难易程度。
猜你喜欢
  • 1970-01-01
  • 2013-10-23
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 2017-04-12
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多