PHP
Clase de fecha y hora
Buscar..
getTimestamp
getTimeStemp
es una representación de unix de un objeto datetime.
$date = new DateTime();
echo $date->getTimestamp();
Esto pondrá una indicación de número entero en los segundos que han transcurrido desde las 00:00:00 UTC del jueves 1 de enero de 1970.
Establece la fecha
setDate
establece la fecha en un objeto DateTime.
$date = new DateTime();
$date->setDate(2016, 7, 25);
este ejemplo establece que la fecha será el veinticinco de julio de 2015 y producirá el siguiente resultado:
2016-07-25 17:52:15.819442
Agregar o restar intervalos de fecha
Podemos usar la clase DateInterval para agregar o restar algún intervalo en un objeto DateTime.
Vea el ejemplo a continuación, donde estamos agregando un intervalo de 7 días e imprimiendo un mensaje en la pantalla:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Esto saldrá (funcionando el 1 de agosto de 2016):
Samara dice: siete días. Estarás feliz el 2016-08-08.
Podemos usar el método sub de una manera similar para restar fechas
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Esto saldrá (funcionando el 1 de agosto de 2016):
Samara dice: siete días. Estuviste feliz el ultimo 2016-07-25.
Crea DateTime desde un formato personalizado
PHP es capaz de analizar una serie de formatos de fecha . Si desea analizar un formato no estándar, o si desea que su código DateTime::createFromFormat
explícitamente el formato que se utilizará, puede usar el método estático DateTime::createFromFormat
:
Estilo orientado a objetos
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Estilo procesal
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
Imprimir DateTimes
PHP 4+ proporciona un método, formato que convierte un objeto DateTime en una cadena con un formato deseado. Según el manual de PHP, esta es la función orientada a objetos:
public string DateTime::format ( string $format )
La función date () toma un parámetro: un formato, que es una cadena
Formato
El formato es una cadena y utiliza caracteres únicos para definir el formato:
- Y : representación de cuatro dígitos del año (ej .: 2016)
- y : representación de dos dígitos del año (p. ej .: 16)
- m : mes, como un número (01 a 12)
- M : mes, como tres letras (enero, febrero, marzo, etc.)
- j : día del mes, sin ceros iniciales (1 a 31)
- D : día de la semana, como tres letras (lunes, martes, miércoles, etc.)
- h : hora (formato de 12 horas) (01 a 12)
- H : hora (formato de 24 horas) (00 a 23)
- A : ya sea AM o PM
- i : minuto, con ceros iniciales (00 a 59)
- s : segundo, con ceros iniciales (00 a 59)
- La lista completa se puede encontrar aquí.
Uso
Estos caracteres se pueden usar en varias combinaciones para mostrar los tiempos en prácticamente cualquier formato. Aquí hay unos ejemplos:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
Procesal
El formato procesal es similar:
Orientado a objetos
$date->format($format)
Equivalente de procedimiento
date_format($date, $format)
Cree una versión inmutable de DateTime desde Mutable antes de PHP 5.6
Para crear \DateTimeImmutable
en PHP 5.6+ use:
\DateTimeImmutable::createFromMutable($concrete);
Antes de PHP 5.6 puedes usar:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());