【问题标题】:How can I display the current date in PHP in the CYYMMDD format?如何以 CYYMMDD 格式在 PHP 中显示当前日期?
【发布时间】:2014-01-27 15:09:58
【问题描述】:

我正在尝试找到一种将当前日期转换为 CYYMMDD 格式的方法,以便我可以对我们的 AS400 进行 SQL 调用。有没有人有一个简单的方法在 PHP 中做到这一点,或者我必须创建一个 RPG 程序来做到这一点?

世纪 - 年 - 月 - 日期

例子:

1/27/2014 将转换为 1140127 和 1/26/2014 将转换为 1140126

谢谢!

【问题讨论】:

  • 使用date()strtotime() 的组合或使用DateTime 对象。编辑:不知道 C 是干什么用的,你可以在年份中使用除法
  • 对于那些不熟悉AS/400 的PHP 开发人员,您能解释一下C 的确切含义吗?在现实生活中,我们已经到了 21 岁。
  • 如果您对 C 感到困惑,这里是一个链接,我是。 techrepublic.com/forums/questions/cyymmdd-format-in-db2/#.
  • 这是自 1900 年以来的世纪数。只需从 CCYYMMDD 中减去 19000000。

标签: php sql date ibm-midrange


【解决方案1】:
$str = (date('Y') >= 2000? 1 : 0) . date('ymd');
echo $str;

【讨论】:

  • 让我们把 2100 效应留给后代吧 :)
  • 破解 2100+ 问题:) $str = (($n = date('Y')) >= 2000? intval(($n-2000)/100)+1 : 0 ) .日期('ymd');回声 $str;
【解决方案2】:

通过减去 19000000 将完整的 YYYYMMDD 格式转换为 CYYMMDD 格式:

例如:

<?php echo date('Ymd') - 19000000 ?>

【讨论】:

  • 您对此效果的评论有两个赞成票,而您的答案(很晚才输入)没有(在我之前)。如果您只是直接寻求答案而不是发表评论,您可能会赢得更多代表!
  • @JohnY 在我看到处理 2100+ 的 hack 之前,我认为这不值得一个专门的答案。感谢您的支持!
猜你喜欢
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
相关资源
最近更新 更多