✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Encuentra la diferencia en las fechas usando PHP (y WordPress)

36

Trabajar con fechas en PHP es una de esas cosas en las que tiene un buen manejo, está trabajando para comprenderlo o está atrapado en la madriguera del conejo de la documentación que está en el manual.

Sin embargo, si está trabajando con WordPress, la posibilidad de que necesite trabajar con fechas es bastante alta. Casi todo lo que publicamos tiene al menos una fecha asociada.

Esto incluye publicaciones, páginas, tipos de publicaciones personalizadas, revisiones, borradores, etc.

Además, existe la posibilidad de que el trabajo personalizado que necesita desarrollar requiera que encuentre la diferencia en dos fechas usando PHP. Y aunque hay varias formas de hacer esto, hay un proceso que he estado siguiendo por algo.

La diferencia de fechas usando PHP

Antes de pasar por mi ejemplo, será útil dar un poco de contexto. Después de todo, lo que sea en lo que estés trabajando probablemente será un poco diferente de lo que estoy haciendo.

Encuentra la diferencia en las fechas usando PHP (y WordPress)

La idea general podría seguir siendo la misma, por lo que la esencia de lo que está haciendo aún se puede extrapolar del código a continuación. Pero permítanme dar un ejemplo concreto de mi propio trabajo:

  1. Tengo un tipo de publicación personalizada que representa un evento y el evento como una fecha de publicación.
  2. Necesito saber cuando comienza el evento. Para hacer esto, defino el formato de fecha usando el formato n/j/Y compatible con PHP y luego lo convierto a una fecha usando la función de fecha de PHP .
  3. A continuación, tomo la fecha de hoy (como una manera fácil de determinar la diferencia de fechas usando PHP para este ejemplo) y la convierto en una fecha usando la misma función y formato n/j/Y.
  4. Después de eso, instancia dos objetos DateTime y calculo la diferencia.

Si eso no es sencillo, recomiendo hacer clic en los enlaces anteriores. De lo contrario, aquí está el código.

<?php

/**
 * Determines the number of years that exist between the specified
 * event custom post type and today's date.
 *
 * @access private
 * @param  WP_Post $event A custom post type representing an event.
 * @return string  $years The difference in years.
 */
private function get_difference_in_dates( $event) {

  // If the post_date is empty, why are we here?
  if (empty( $event['post_date']) {
    return;
  }

  // Get the date for the start of the event and te 
  $start = date( 'n/j/Y', strtotime( $event['post_date']) );
  $today = date( 'n/j/Y' );

  // Get the date for the start of the event and today's date.
  $start      = new DateTime( $start );
  $end        = new DateTime( $today );

  // Now find the difference in years.
  $difference = $start->diff( $end );
  $years      = $difference->y;

  // If the difference is less than one, we'll return a string of "< 1".
  $years = (1 > $years )? '< 1': (string)$years;

  return $years;
}

Observe en el código anterior que solo estoy interesado en recuperar la diferencia en años. Puedes optar por elegir algo diferente. Si ese es el caso, la API que ofrece PHP facilita hacerlo examinando las propiedades del objeto DateTime.

Pero dadas dos fechas, esta es una forma sencilla de encontrar la diferencia en las fechas usando PHP en el contexto de WordPress.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More