PHPdate():不带前导零的分钟
我想知道是否有PHP的date()
的格式化信,允许我打印分钟没有前导零,或者我是否必须手动testing和删除前导零?
使用:
$minutes = intval(date('i'));
对于有更多信息而不仅仅是分钟的时代:
ltrim()
– 从string的开始处去除空格(或其他字符)
ltrim(date('i:s'), 0);
收益:
8:24
根据PHP文档 , date()
函数没有前导零的分钟占位符。
但是,您可以通过简单地将date与前导零相乘1来获得该信息,并将其转换为整数。
$minutesWithoutZero = 1* date( 'i' );
我试图find这个秒,以及放弃了search,只是把结果作为一个int像这样:
echo (int)date("s");
这将以快速有效的方式摆脱前导零。
不是看起来像,但你可以做一些像…
echo date('g:') . ltrim(date('i'), '0');
或者,您可以使用(int)
将第二个调用转换为date()
(int)
。
这也适用
$timestamp = time(); //Or Your timestamp echo (int)date('i',$timestamp);
我只是做了这一行解决scheme
$ min = intval(date('i',strtotime($ date)));
使用ltrim方法可能会删除所有前导零。例如,如果'00'min。在这种情况下,这将删除所有的零,并给你空的结果。
$current_date = Date("njY"); echo $current_date; // Result md-yy 9-10-2012
我使用这种格式,如果我需要一个XXmXXs格式:
//Trim leading 0's and the 'm' if no minutes ltrim(ltrim(gmdate("i\ms\s", $seconds), '0'), 'm');
这将输出以下内容:
12m34s 1m23s 12s
或者在mySQL中,把它乘以1,就像这样:
select f1, ..., date_format( fldTime , '%i' ) * 1 as myTime, ..., ...
我的解决scheme
function seconds2string($seconds) { if ($seconds == 0) { return '-'; } if ($seconds < 60) { return date('0:s', $seconds); } if ($seconds < 3600) { return ltrim(date('i:s', $seconds), 0); } return date('G:i:s', $seconds); }
这将输出:
0 seconds: - 10 seconds: 0:10 90 seconds: 1:30 301 seconds: 5:01 1804 seconds: 30:04 3601 seconds: 1:00:01
快速从我。 告诉我你的想法:
<?php function _wo_leading_zero($n) { if(!isset($n[1])) return $n; if(strpos($n, '.') !== false) { $np = explode('.', $n); $nd = '.'; } if(strpos($n, ',') !== false) { if(isset($np)) return false; $np = explode(',', $n); $nd = ','; } if(isset($np) && count($np) > 2) return false; $n = isset($np) ? $np[0] : $n; $nn = ltrim($n, '0'); if($nn == '') $nn = '0'; return $nn.(isset($nd) ? $nd : '').(isset($np[1]) ? $np[1] : ''); } echo '0 => '._wo_leading_zero('0').'<br/>'; // returns 0 echo '00 => '._wo_leading_zero('00').'<br/>'; // returns 0 echo '05 => '._wo_leading_zero('05').'<br/>'; // returns 5 echo '0009 => '._wo_leading_zero('0009').'<br/>'; //returns 9 echo '01 => '._wo_leading_zero('01').'<br/>'; //returns 1 echo '0000005567 => '._wo_leading_zero('0000005567').'<br/>'; //returns 5567 echo '000.5345453 => '._wo_leading_zero('000.5345453').'<br/>'; //returns 0.5345453 echo '000.5345453.2434 => '._wo_leading_zero('000.5345453.2434').'<br/>'; //returns false echo '000.534,2434 => '._wo_leading_zero('000.534,2434').'<br/>'; //returns false echo date('m').' => '._wo_leading_zero(date('m')).'<br/>'; echo date('s').' => '._wo_leading_zero(date('s')).'<br/>'; ?>