好的,有没有办法设置一个可以在以后轻松修改为不同格式的日期。示例:一个日期在mysql数据库中,并且是通用格式;它被放入文档中,有没有办法即时更改日期格式?
问问题
1446 次
3 回答
2
于 2011-02-18T02:25:53.897 回答
2
是的,它被称为unix timestamp,它表示自纪元(1969 年 12 月 31 日)以来的秒数。
使用时间戳,您可以使用 date() 函数以您希望的任何格式输出日期。
于 2011-02-18T02:26:36.690 回答
2
简短的回答:不是。
长答案:
有许多不同的标准(RFC850、RFC822、ISO8601等等)以各种字符串格式表示日期。还有 UNIX 时间戳。要在 PHP 中进行任何类型的日期转换,您通常必须通过 UNIX 时间戳。PHP 可以使用strtotime
.
PHP 应用程序中的日期可以处于以下两种状态之一:
- 一种或多或少可读且易于在不同环境(数据库/PHP、XML/PHP 等)之间互换但不可操作(加/减/比较)的字符串表示
- 一个 UNIX 时间戳或
DateTime
对象(如果您使用 PHP >= 5.2 并选择使用它),可以操作但对人类毫无价值
您通常在输入、操作和输出期间将日期从一种状态转换为另一种状态。
要将日期从一种文本格式转换为另一种格式,您通常会读取它并以strtotime
您需要的格式重新格式化生成的时间戳。
date(DATE_RFC822, strtotime('2010-01-12 03:52:12'));
date('l jS \of F Y h:i:s A', strtotime('2010-01-12 03:52:12'));
$timestampA = strtotime('2010-01-12 03:52:12');
$timestampB = strtotime('2011-02-05 02:00:31');
if ($timestampA < $timestampB) {
...
}
您可以说 UNIX 时间戳是通用格式,但实际上不存在通用日期格式。您不应将 UNIX 时间戳存储在数据库中,而应使用 MySQL 的本机DATETIME
(或DATE
或TIME
)字段。从数据库中检索这些DATETIME
字段时,您会以 MySQL 首选的文本表示Y-m-d H:i:s
格式获取它们。如上所述将其转换为您想要的“人类可读”格式。
于 2011-02-18T02:29:48.747 回答