PHP date():没有前导零的分钟

Boj*_*les 47 php format date

我想知道是否有PHP的格式化字母date()允许我打印分钟而不带前导零,或者我是否必须手动测试并删除前导零?

Abd*_*ahC 90

使用:

$minutes = intval(date('i'));
Run Code Online (Sandbox Code Playgroud)

  • 最好使用`(int)date('i');`而不是`intval()`.它应该更快. (8认同)
  • 疯狂的PHP行为!它将int`09`视为八进制数,因为前导零 - 将评估为"0",因为`9`不是有效的八进制数.但它将字符串`09`视为十进制整数`9`.再见预期的行为!:) (4认同)

小智 12

对于信息量超过几分钟的时间:

ltrim() - 从字符串的开头删除空格(或其他字符)

ltrim(date('i:s'), 0);
Run Code Online (Sandbox Code Playgroud)

收益:

8:24
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于不到1分钟的时间..例如:00:24会导致:24 (3认同)

Luk*_*son 7

根据PHP文档,该date()函数没有占位符几分钟而没有前导零.

但是,您可以通过简单地将日期与前导零乘以1来获得该信息,将其转换为整数.

$minutesWithoutZero = 1* date( 'i' );
Run Code Online (Sandbox Code Playgroud)

  • 这会有效,但它比'(int)`更有点黑客. (3认同)

Mad*_*nyo 7

我试图在几秒钟内找到这个,放弃搜索并将结果转换为像这样的int:

echo (int)date("s");
Run Code Online (Sandbox Code Playgroud)

这将以快速有效的方式摆脱领先的零.