Я хотел бы знать, есть ли письмо с форматированием для PHP date()
, которое позволяет мне печатать минуты без начальных нулей или нужно ли вручную проверять и удалять ведущие нули?
PHP date(): минуты без начальных нулей
Ответ 1
Использование:
$minutes = intval(date('i'));
Ответ 2
Время с большей информацией, чем минуты:
ltrim()
- разделите пробелы (или другие символы) с начала строки
ltrim(date('i:s'), 0);
возвращает:
8:24
Ответ 3
В соответствии с Документация по PHP функция date()
не имеет заполнителя в течение минут без начальных нулей.
Однако вы можете получить эту информацию, просто умножив даты с начальным нулем на 1, превратив его в целое число.
$minutesWithoutZero = 1* date( 'i' );
Ответ 4
Я попытался найти это в течение нескольких секунд, отказался от поиска и просто произнес результат в виде int следующим образом:
echo (int)date("s");
Это позволит быстро избавиться от начального нуля.
Ответ 5
Не похоже, но вы можете сделать что-то вроде...
echo date('g:') . ltrim(date('i'), '0');
В качестве альтернативы вы можете сделать второй вызов date()
с помощью (int)
.
Ответ 6
Это также работает
$timestamp = time(); //Or Your timestamp
echo (int)date('i',$timestamp);
Ответ 7
Я использую этот формат, если мне нужен формат XXmXXs:
//Trim leading 0 and the 'm' if no minutes
ltrim(ltrim(gmdate("i\ms\s", $seconds), '0'), 'm');
В результате вы получите следующее:
12m34s
1m23s
12s
Ответ 8
Я просто сделал это однострочное решение
$min = intval (date ('i', strtotime ($ date));
Использование метода ltrim может удалить все начальные нули. Для ex if '00' min. В этом случае это приведет к удалению всех нулей и даст вам пустой результат.
Ответ 9
Мое решение:
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
Ответ 10
Или в mySQL просто умножьте его на 1, например:
select f1, ..., date_format( fldTime , '%i' ) * 1 as myTime, ..., ...
Ответ 11
$current_date = Date("n-j-Y");
echo $current_date;
// Result m-d-yy
9-10-2012
Ответ 12
Быстро от меня. Расскажите мне, что вы думаете:
<?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/>'; ?>
Ответ 13
Мое предложение: прочитайте эту прекрасную документацию, в которой есть все детали функций даты php
А в соответствии с вашим вопросом вы можете использовать i - Minutes with leading zeros (00 to 59)
которые возвращают вам минуты с начальным нулем (0).
А также введение функции [Intval()][2]
возвращает целочисленное значение переменной. Вы не можете использовать функцию intval() для объекта
Ответ 14
Просто используйте это:
(int) date('i');
Ответ 15
использовать функцию абсолютного значения PHP:
abs( '09' );//result = 9