欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

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


               

使用:
$minutes = intval(date('i'));
    
           

莽缓逢                


               

对于信息量超过几分钟的时间:
ltrim()
- 从字符串的开头删除空格(或其他字符)
ltrim(date('i:s'), 0);
收益:
8:24
    
           

爆山                


               

根据PHP文档,
date()
函数在没有前导零的情况下没有占位符。 但是,您可以通过简单地将日期与前导零乘以1来获得该信息,将其转换为整数。
$minutesWithoutZero = 1* date( 'i' );
    
           

帆攀缺锯欧                


               

我试图在几秒钟内找到这个,放弃搜索并将结果转换为像这样的int:
echo (int)date("s");
这将以快速有效的方式摆脱领先的零。     
           

才脊烽馈低                


               

看起来不像,但你可以做点什么......
echo date('g:') . ltrim(date('i'), '0');
或者,您可以使用
(int)
将第二个调用转换为
date()
。     
           

厦惫                


               

这也有效
$timestamp = time(); //Or Your timestamp
echo (int)date('i',$timestamp);
    
           

长拳                


               

如果我需要XXmXXs格式,我会使用这种格式:
//Trim leading 0's and the 'm' if no minutes
ltrim(ltrim(gmdate("imss", $seconds), '0'), 'm');
这将输出以下内容:
12m34s
1m23s
12s
    
           

茬贺努充尽                


               

我刚刚做了这个一线解决方案   $ min = intval(date('i',strtotime($ date))); 使用ltrim方法可能会删除所有前导零。如果为'00'min,则为ex。在这种情况下,这将删除所有零并为您提供空结果。     
           

矾醒忻                


               

我的解决方案
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
    
           

诫商                


               

或者在mySQL中将它乘以1,如下所示:
select f1, ..., date_format( fldTime , '%i' ) * 1  as myTime, ..., ...
    
           

怪酞撩匹                


               

$current_date = Date("n-j-Y");
echo $current_date;

// Result m-d-yy

9-10-2012
    
           

疾桓                


               

快点来自我。告诉我你的想法:
<?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/>'; ?>
    
           

凸晴                


               

我的建议是阅读这个美丽的文档,它具有PHP日期功能的所有细节 文档链接 根据你的问题,你可以使用
i - Minutes with leading zeros (00 to 59)
哪个返回分钟,前导零(0)。 并且引入
[Intval()][2]

函数返回变量的整数值。您不能在对象上使用intval()函数     
           

勘掸府迫路                


               

只要用这个:
(int) date('i');
           

来自  https://www.orcode.com/question/1153624_k8597c.html


普通分类: