it-swarm.com.de

PHP Datum (): Minuten ohne führende Nullen

Ich würde gerne wissen, ob es einen Formatierungsbuchstaben für PHP date() gibt, der es mir erlaubt, Minuten ohne führende Nullen zu drucken, oder ob ich manuell nach führenden Nullen suchen und diese entfernen muss.

44
Bojangles

Benutzen:

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

Für Zeiten mit mehr Informationen als nur Minuten:

ltrim() - Entfernen Sie Leerzeichen (oder andere Zeichen) vom Anfang einer Zeichenfolge

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

kehrt zurück:

8:24
11
ScottA

Gemäß der Dokumentation in PHP hat die Funktion date() keinen Platzhalter für Minuten ohne führende Nullen.

Sie können diese Informationen jedoch erhalten, indem Sie einfach die Datumsangaben mit einer führenden Null mit 1 multiplizieren und daraus eine ganze Zahl machen.

$minutesWithoutZero = 1* date( 'i' );
7
Luke Stevenson

Ich habe auch versucht, dies für Sekunden zu finden, gab die Suche auf und wirkte das Ergebnis einfach als Int:

echo (int)date("s");

Dadurch werden die führenden Nullen schnell und effizient beseitigt.

6
Madmenyo

Sieht nicht so aus, aber Sie könnten so etwas tun ...

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

Alternativ können Sie den zweiten Aufruf mit (int) an date() senden.

4
alex

Das funktioniert auch

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

Ich verwende dieses Format, wenn ich ein XXmXXs-Format benötige:

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

Dadurch wird Folgendes ausgegeben:

12m34s
1m23s
12s
2
Etienne Dupuis

ich habe gerade diese einzeilige Lösung gemacht

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

Wenn Sie die ltrim-Methode verwenden, werden möglicherweise alle führenden Nullen entfernt. ZB wenn '00' min. In diesem Fall werden alle Nullen entfernt und das Ergebnis ist leer.

2
Smit kalwal

Meine Lösung:

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

Dies wird ausgegeben:

0 seconds:            -
10 seconds:        0:10
90 seconds:        1:30
301 seconds:       5:01
1804 seconds:     30:04
3601 seconds:   1:00:01
1
raarts
$current_date = Date("n-j-Y");
echo $current_date;

// Result m-d-yy

9-10-2012
0
bariyaw

benutze die Absolutwertfunktion von PHP:

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

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

0
aequalsb

Ein Quickie von mir. Sag mir was du denkst:

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

Mein Vorschlag ist Lesen Sie diese schöne Dokumentation. Sie enthält alle Details der PHP-Datumsfunktionen

Dokumentationslink

Und je nach Ihrer Frage können Sie i - Minutes with leading zeros (00 to 59) verwenden, die Ihnen Minuten mit führender Null (0) zurückgibt.

Auch die Einführung der Funktion [Intval()][2] liefert den ganzzahligen Wert einer Variablen. Sie können die Funktion intval () nicht für ein Objekt verwenden

0
TarangP

Oder multiplizieren Sie es in mySQL einfach mit 1:

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

Verwenden Sie einfach dieses:

(int) date('i');
0
user3890355