我有日期 14.10.13 格式,它来自我的数据库表。我想格式化它,但它总是给出今天的日期。我想将其更改如下。
04 December 2014
为此,我使用流动代码
<?php echo date("d F Y", strtotime('14.10.13'));?>
但它总是给出当前日期 04 December 2014
格式
我不明白什么是问题。
如果你有一个已知的格式,那么你可以通过使用::createFromFormat
来避免strtotime-magic
$input = '14.10.13';
$output = DateTime::createFromFormat('y.m.d', $input)->format('d F Y');
var_dump($output);
这很简单
-
首先,您必须将日期存储在mysql中的"date"数据类型中。
-
它存储在年-月-日。
-
使用
DATE_FORMAT(
column_name,'%d.%m.%Y')
MySQL 查询来获取已插入的日期。
仅此而已。不要使它复杂化。
strtotime()
官方PHP文档的摘录:
注意:
m/d/y 或 d-m-y 格式的日期通过查看 各个组件之间的分隔符:如果分隔符是 斜杠 (/),则假设为美国 m/d/y;而如果 分隔符是破折号 (-) 或点 (.),然后是欧洲 d-m-y 格式 是假设的。
为避免潜在的歧义,最好使用 ISO 8601 (YYYY-MM-DD) 日期或日期时间::createFromFormat() 如果可能。
我会去DateTime::createFromFormat()
.
以date()
传递标准格式
<?php echo date("d F Y", strtotime('14-10-13'));?>
使用.
不是日期标准,因此请使用-
分隔日期
或通过更换
<?php echo date("d F Y", strtotime(str_replace('.', '-','14.10.13')));?>