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方法.如果没有,我会写一段代码来拆分定义的元素并相应地格式化它.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...