PHP date (): минуты без начальных нулей

Я хотел бы знать, есть ли письмо форматирования для date() PHP date() которое позволяет мне печатать минуты без начальных нулей, или нужно ли вручную проверять и удалять ведущие нули?

Использование:

 $minutes = intval(date('i')); 

Для времени с более подробной информацией, чем за несколько минут:

ltrim()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'); 

В качестве альтернативы вы можете выполнить второй вызов по date() с помощью (int) .

Это также работает

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

Я использую этот формат, если мне нужен формат XXmXXs:

 //Trim leading 0's and the 'm' if no minutes ltrim(ltrim(gmdate("i\ms\s", $seconds), '0'), 'm'); 

Это выведет следующее:

 12m34s 1m23s 12s 

я просто сделал это однострочное решение

$ min = intval (date ('i', strtotime ($ date)));

Использование метода ltrim может удалить все начальные нули. Для ex if '00' min. В этом случае это приведет к удалению всех нулей и даст вам пустой результат.

 $current_date = Date("njY"); echo $current_date; // Result md-yy 9-10-2012 

Или в mySQL просто умножьте его на 1, например:

 select f1, ..., date_format( fldTime , '%i' ) * 1 as myTime, ..., ... 

Мое решение:

 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/>'; ?>