PHP date(): minutes without leading zeros

PhpDateFormat

Php Problem Overview


I'd like to know if there is a formatting letter for PHP's date() that allows me to print minutes without leading zeros, or whether I have to manually test for and remove leading zeros?

Php Solutions


Solution 1 - Php

Use:

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

Solution 2 - Php

For times with more information than just minutes:

ltrim() - Strip whitespace (or other characters) from the beginning of a string

ltrim(date('i:s'), 0);

returns:

8:24

Solution 3 - Php

According to the PHP Documentation, the date() function does not have a placeholder for minutes without leading zeros.

You could, however, get that information by simply multiplying the dates, with a leading zero, by 1, turning it into an integer.

$minutesWithoutZero = 1* date( 'i' );

Solution 4 - Php

I tried to find this for seconds as well, gave up the search and just casting the result as a int like this:

echo (int)date("s");

That will get rid of the leading zero's in a fast efficient way.

Solution 5 - Php

Doesn't look like it, but you could do something like...

echo date('g:') . ltrim(date('i'), '0');

Alternately, you could cast the second call to date() with (int).

Solution 6 - Php

This also works

$timestamp = time(); // Or Your timestamp. Skip passing $timestamp if you want current time
echo (int)date('i',$timestamp);

Solution 7 - Php

I use this format if I need a XXmXXs format:

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

This will output the following:

12m34s
1m23s
12s

Solution 8 - Php

i just did this one line solution

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

Using ltrim method may remove all the leading zeroes.For ex if '00' min.In this case this will remove all the zeroes and gives you empty result.

Solution 9 - Php

My solution:

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);
}

This will output:

0 seconds:            -
10 seconds:        0:10
90 seconds:        1:30
301 seconds:       5:01
1804 seconds:     30:04
3601 seconds:   1:00:01

Solution 10 - Php

Just use this:

(int) date('i');

Solution 11 - Php

Or in mySQL just multiply it by 1, like such:

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

Solution 12 - Php

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

// Result m-d-yy

9-10-2012

Solution 13 - Php

A quickie from me. Tell me what you think:

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

Solution 14 - Php

use PHP's absolute value function:

abs( '09' ); // result = 9

abs( date( 'i' ) ); // result = minutes without leading zero

Solution 15 - Php

My Suggestion is Read this beautiful documentation it have all details of php date functions

Link of Documentation

And as per your question you can use i - Minutes with leading zeros (00 to 59) Which return you minutes with leading zero(0).

And Also introducing [Intval()][2] function returns the integer value of a variable. You can not use the intval() function on an object

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBojanglesView Question on Stackoverflow
Solution 1 - PhpAbdullahCView Answer on Stackoverflow
Solution 2 - PhpScottAView Answer on Stackoverflow
Solution 3 - PhpLuke StevensonView Answer on Stackoverflow
Solution 4 - PhpMadmenyoView Answer on Stackoverflow
Solution 5 - PhpalexView Answer on Stackoverflow
Solution 6 - PhpStarxView Answer on Stackoverflow
Solution 7 - PhpEtienne DupuisView Answer on Stackoverflow
Solution 8 - PhpSmit kalwalView Answer on Stackoverflow
Solution 9 - PhpraartsView Answer on Stackoverflow
Solution 10 - Phpuser3890355View Answer on Stackoverflow
Solution 11 - PhpMannyView Answer on Stackoverflow
Solution 12 - PhpbariyawView Answer on Stackoverflow
Solution 13 - PhpEdgars WEBHAUSView Answer on Stackoverflow
Solution 14 - PhpaequalsbView Answer on Stackoverflow
Solution 15 - PhpTarangPView Answer on Stackoverflow