Blog

Inicio   /   Blog

Image


La mayoría de las aplicaciones web requieren trabajar con fecha y hora. La aplicación web desarrollada por el framework Laravel utiliza una extensión API simple para trabajar con la fecha y la hora llamada Carbon . Este paquete de PHP puede manejar la hora y la zona horaria más fácilmente en el proyecto Laravel. El paquete Carbon se puede usar para muchos propósitos, como leer la fecha y la hora actuales, cambiar el formato de fecha y hora predeterminado, encontrar la diferencia entre dos fechas, convertir la fecha y la hora de una zona horaria a otra, etc. Diferentes usos de Carbon en el proyecto Laravel se han mostrado en este tutorial.


Requisitos previos:

Debe completar las siguientes tareas antes de practicar los ejemplos de este tutorial.


Cree un nuevo proyecto de Laravel llamado timeProject . Aquí, el compositor se ha utilizado para crear el proyecto Laravel. Si el compositor no está instalado antes de esa fecha, debe instalarlo antes de ejecutar el siguiente comando

composer create-project laravel / laravel timeProject


Ir a la carpeta del Proyecto 


cd timeProject


Todos los ejemplos de este tutorial han sido probados en Laravel versión 9+. Comprueba la versión instalada de Laravel.


php artisan --version


Crear un controlador:

Ejecute el siguiente comando para crear un controlador para verificar los usos del paquete Carbon. Después de ejecutar el comando, se creará el archivo datetimeController.php dentro de la carpeta app/Http/Controllers.


php artisan make:controller datetimeController


Diferentes usos del Carbon:

Los usos de Carbon para diferentes propósitos se han mostrado en esta parte del tutorial modificando el archivo datetimeController.php .


Ejemplo-1: Lea la fecha y hora actuales

El uso más simple de la clase Carbon es leer la fecha y hora actuales. Abra el archivo datetimeController.php y reemplace el contenido con el siguiente script. La función now() de la clase Carbon se ha utilizado en el script para leer la fecha y la hora actuales.



Abra el archivo web.php de la carpeta de rutas , agregue las siguientes líneas para agregar la información del controlador y ejecute la función index() del controlador para la URL raíz.




namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Carbon\Carbon;

class datetimeController extends Controller
{
    public function index()
    {
        //Read the current date and time
    $current_datetime = Carbon::now();
    //Print the current date and time
    echo "The current date and time is $current_datetime";

    }
}


Abra el archivo web.php de la carpeta de rutas , agregue las siguientes líneas para agregar la información del controlador y ejecute la función index() del controlador para la URL raíz.


use App\Http\Controllers\datetimeController;
Route::get('/',[datetimeController::class, 'index']);


Ejecute el siguiente comando para iniciar el servidor de desarrollo de Laravel si no se inició antes.


php artisan serve


Ejecute la siguiente URL desde el navegador y compruebe el resultado de este ejemplo.


http://127.0.0.1:8000/

El siguiente resultado similar aparecerá en función de la fecha y la hora del sistema.




Ejemplo-2: Dar formato a la fecha y hora actuales

Reemplace la función index() de datetimeController con el siguiente script para saber cómo formatear la fecha y la hora actuales. En el siguiente script se muestran tres tipos diferentes de formato. El valor de la fecha se imprimirá con el formato dd-mm-yy en la primera salida. El valor de la fecha se imprimirá con el nombre completo del mes y el valor del año en la segunda salida. El valor de tiempo se imprimirá con el formato hh:mm:ss en la tercera salida.


public function index()
{
    //Read the current date and time
    $datetime = Carbon::now()->toDateTimeString();

    //Format the date to get the date only
    $cur_date = Carbon::createFromFormat('Y-m-d H:i:s', $datetime)->format('d-m-y');
    //Print the current date
    echo "The current date is $cur_date
"; //Format the date to get the date in another way $cur_date2 = Carbon::createFromFormat('Y-m-d H:i:s', $datetime)->format('d F Y'); //Print the current date echo "The current date in another format is $cur_date2
"; //Format the date to get the time only $cur_time = Carbon::createFromFormat('Y-m-d H:i:s', $datetime)->format('h:i:s'); //Print the current time echo "The current time is $cur_time"; }

El siguiente resultado similar aparecerá en función de la fecha y la hora actuales después de ejecutar el script anterior.




Ejemplo-3: Imprimir la fecha actual, anterior y siguiente

Reemplace la función index() de datetimeController con el siguiente script para saber cómo imprimir la fecha actual, la fecha próxima y la fecha anterior.


public function index()
{
       $now = Carbon::now()->toDateString();
       $formmatted =  Carbon::createFromFormat('Y-m-d', $now)->format('F j, Y');
    echo "Today: $formmatted
"; $nextDay = Carbon::tomorrow()->toDateString(); $formmatted = Carbon::createFromFormat('Y-m-d', $nextDay)->format('F j, Y'); echo "Tomorrow: $formmatted
"; $prevDay = Carbon::yesterday()->toDateString(); $formmatted = Carbon::createFromFormat('Y-m-d', $prevDay)->format('F j, Y'); echo "Yesterday: $formmatted
"; }

El siguiente resultado similar aparecerá en función de la fecha y la hora actuales después de ejecutar el script anterior.




Ejemplo-4: Encuentra la diferencia entre fechas en días, meses y años

Reemplace la función index() de datetimeController con el siguiente script para conocer la forma de calcular la diferencia entre dos fechas en días, meses y años.



public function index ( )
{
       //Establecer la fecha de inicio
       $start_date = Carbon :: createFromFormat ( 'Ymd' , '2022-03-15' ) ;
       //Establecer la fecha de finalización
    $end_date = Carbon :: createFromFormat ( 'Ymd' , '2024-03-15' ) ;
   
    //Cuenta la diferencia en días
    $count_days = $start_date -> diffInDays ( $end_date ) ;
    // Imprime el valor de conteo
    echo "La diferencia entre dos fechas es $count_days days
" ; //Cuenta la diferencia en meses $count_months = $start_date -> diffInMonths ( $end_date ) ; //Imprime el valor de conteo echo "La diferencia entre dos fechas es $count_months months
" ; //Cuenta la diferencia en años $count_years = $start_date -> diffInYears ( $end_date ) ; // Imprime el valor de conteo echo "La diferencia entre dos fechas es $count_years years"; }



Ejemplo-5: establecer la zona horaria predeterminada

Otro uso importante de la clase Carbon es establecer la zona horaria. Reemplace la función index() de datetimeController con la siguiente secuencia de comandos para establecer dos zonas horarias diferentes y verificar las diferencias horarias entre las zonas horarias.


public function index ( )
{
    //Establecer la zona horaria predeterminada
        date_default_timezone_set ( 'America/Los_Angeles' ) ;
        $datetime = Carbon :: now ( ) -> toDateTimeString ( ) ;
        $fecha = Carbono :: createFromFormat ( 'Ymd H:i:s' , $datetime ) -> formato ( 'd/m/Y h:i:s' ) ;
        echo $fecha , "
" ; //Cambiar la zona horaria predeterminada date_default_timezone_set ( 'Asia/Dhaka' ) ; $datetime = Carbon :: now ( ) -> toDateTimeString ( ) ; $fecha = Carbono :: createFromFormat ( 'Ymd H:i:s' , $datetime ) -> formato ( 'd/m/Y h:i:s' ) ; echo $fecha ; }




Conclusión:

La clase Carbon es una clase muy útil de Laravel para trabajar con la fecha y la hora. Se han utilizado diferentes métodos de esta clase en los ejemplos de este tutorial para imprimir la fecha y la hora de diferentes maneras y realizar tareas relacionadas con la fecha y la hora.



Tags: Laravel, php, carbon, usos, librerias,

Ultimas Noticias


Las 5 características principales de Laravel Framework

Laravel es un brillante ejemplo de excel


Macros de Laravel

Las macros de Laravel son una herramient


Ejecute Bash Shell en Docker de 5 formas diferentes

La respuesta cortaPara iniciar un shell