php - date() 仅从日期格式 YYYY-00-00 开始的年份

标签 php date

我尝试这样做 echo date("Y", strtotime("1999-00-00")); 但它返回的不是 1999 1998.有办法处理这个吗?我更喜欢“干净的方式”,而不是像 $finalYear = (float)$year+1 等。 日期格式必须是 YYYY-00-00(带零)

最佳答案

如果您绝对确定日期的格式永远不会改变,您最好使用

echo substr('1999-00-00', 0, 4);

而不是招致 strtotime() 的沉重开销并在整个日期/时间子系统中往返。

当您告诉 PHP 的日期函数月/日为 0(“无效”)时,它会将这些值转换为适当的“先前”值。

例如

1999-00-10 is actually 1998-12-10
1999-11-00 is actually 1999-10-31

等等。这就像在说“昨天”或“上个月”。类似地,指定第 13 个月就可以了

1999-13-01 is actually 2000-01-01

关于php - date() 仅从日期格式 YYYY-00-00 开始的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419179/

相关文章:

php - 根据sql中的顺序获取行的排名

php - 如何使用 PHP 将返回的数据表导出到 Excel

php - 正则表达式替换php中的日期格式

java - 带日历的时区

javascript - 当日期为空时,如何在日期输入字段中显示 "mm/dd/yyyy"而不是 "12/31/1969"?

php - $classInstance->title 比 $classInstance->getTitle() 快 - 为什么大多数人使用较慢的方法?

PHP Laravel - 类 [controllername] Controller 不存在

PHP sem_get 函数失败

javascript - 使用 JavaScript 将秒转换为 HH-MM-SS?

excel - 一步从日期中删除小时和分钟