Converti una data in un timestamp in PHP

  1. Usa la funzione strtotime() per convertire una data in un timestamp in PHP
  2. Usa la funzione strptime() per convertire una data in un timestamp in PHP
  3. Usa la funzione getTimestamp() per convertire una data in un timestamp in PHP
  4. Usa la funzione format() per convertire una data in un timestamp in PHP

In questo articolo, introdurremo metodi per convertire una data in un timestamp in PHP.

  • Utilizzo della funzione strtotime()
  • Utilizzo della funzione strptime()
  • Utilizzo della funzione getTimestamp()
  • Utilizzo della funzione format()

Usa la funzione strtotime() per convertire una data in un timestamp in PHP

La funzione incorporata strtotime() converte una data in un timestamp Unix. Un timestamp Unix è il numero totale di secondi calcolato dall’epoca Unix (1 gennaio 1970). La sintassi corretta per utilizzare questa funzione è la seguente

strtotime($dateString,$timeNow);

Questa funzione ha due parametri. $dateString è la stringa data/ora che dovrebbe essere conforme a PHP formato valido. È un parametro obbligatorio. L’altro parametro $timeNow è facoltativo, è il timestamp utilizzato per il calcolo delle date relative. L’ora corrente now è il valore predefinito se il secondo parametro viene omesso.

<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>

La data qui è nel formato "d-m-Y". Abbiamo passato solo un singolo parametro in quanto convertirà la data in un timestamp Unix.

Produzione:

The timestamp is 1587600000.

Usa la funzione strptime() per convertire una data in un timestamp in PHP

Questa è un’altra funzione per convertire una data in un timestamp Unix. Non converte la data direttamente in un timestamp. Restituisce un array che racconta i secondi, i minuti, le ore e molti altri dettagli. Possiamo usare questi dettagli per convertire una data in un timestamp.

strptime($dateString, $format);

Ha due parametri obbligatori. $dateString è la stringa della data e $format è il formato per analizzare $dateString.

<?php
$array = strptime('23-04-2020', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $array['tm_mon']+1, $array['tm_mday'], $array['tm_year']+1900);
echo "The timestamp is $timestamp.";
?>

Produzione:

The timestamp is 1587600000.

Dopo aver generato l’array, la funzione mktime() converte la data in un timestamp.

La sintassi della funzione mktime() è

mktime(hour, minute, second, month, day, year, is_dst)

is_dst specifica se la data e l’ora è l’ora legale, ma viene rimossa da PHP 7.0.0.

Attenzione

Aggiungeremo 1 a $array['tm_mon'] e quindi useremo la somma come parametro di month in mktime, perché $array['tm_mon'] inizia da 0, o in altre parole, $array['tm_mon'] di gennaio è 0.

Usa la funzione getTimestamp() per convertire una data in un timestamp in PHP

Il metodo getTimestamp() dell’oggetto DateTime è un metodo semplice per convertire una data in un timestamp. Ha un altro modo di rappresentazione date_timestamp_get() che è la rappresentazione dello stile procedurale.

$datetimeObject->getTimestamp(); 

Creeremo un oggetto Datetime per chiamare questa funzione. Questo è lo stile orientato agli oggetti per chiamare una funzione.

<?php
$date = new DateTime('2020-04-23');
$timestamp = $date->getTimestamp();
echo "The timestamp is $timestamp.";
?>

L’oggetto $date della classe Datetime ha chiamato il metodo getTimestamp() per convertire la data in un timestamp Unix.

Produzione:

The timestamp is 1587600000.

Usa la funzione format() per convertire una data in un timestamp in PHP

Possiamo anche usare il metodo format() di DateTime per convertire una data in un timestamp. Questo metodo ha un’altra rappresentazione date_format() che è la rappresentazione in stile procedurale della funzione format().

$datetimeObject->format("U"); 

Per convertire una data in un timestamp, il formato che passeremo come stringa è "U".

<?php
$dateObject = new DateTime('2020-04-23');
$timestamp = $dateObject->format("U");
echo "The timestamp is $timestamp.";
?>

L’oggetto $dateObject della classe Datetime ha chiamato la funzione format() per convertire la data in un timestamp Unix.

Produzione:

The timestamp is 1587600000.

Articolo correlato - PHP DateTime

  • Ottieni l'ultimo giorno del mese con le funzioni PHP
  • Articolo correlato - PHP Timestamp

  • Calcola la differenza tra due date usando PHP