微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用数据库中的DateTime()格式化部分未知日期?

我有一个数据库,有几个未知的月份或日期格式如下:1999-01-00 / 1999-00-00.

现在,我一直在使用DateTime()格式化已满的日子,这很好.

我希望有未知日期的缩写,但使用$DateTime->格式(‘M Y’)已知月份;其产出于1999年9月

$DateTime-&GT格式( ‘Y’);对于1999年,这是未知的月份和日期.

DateTime()不允许00 /月的数值,所以有什么方法可以解决这个问题?

解决方法:

不幸的是,DateTime类几乎是UNIX时间戳的包装器. (我说的很多,我知道它不仅仅是那个.)它与日期一起工作的方式之一就是零是简单地将它计算为前一时期的同义词. (例如:4月0日计算成为3月31日.)

实际上,您只需绕过PHP的内置日期功能并编写自己的功能.好消息是你确实可以做到这一点. MysqL实际上将值作为简单字符串返回,并且,当涉及到日期时,实际C库使用的自然响应是将日期作为ISO 8601字符串返回. (几乎就是这句话.)

如果我写这个,我会用MysqL_fetch_row(或你自己的方法)读取raw值,并检查是否定义了所有元素(即:year,month,day).如果是,请使用DateTime方法.如果没有,我会写一段代码来拆分定义的元素并相应地格式化它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐