{"id":229076,"date":"2022-10-27T19:54:00","date_gmt":"2022-10-27T16:54:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229076"},"modified":"2022-11-09T05:26:22","modified_gmt":"2022-11-09T02:26:22","slug":"trouvez-la-difference-de-dates-en-utilisant-php-et-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/trouvez-la-difference-de-dates-en-utilisant-php-et-wordpress\/","title":{"rendered":"Trouvez la diff\u00e9rence de dates en utilisant PHP (et WordPress)"},"content":{"rendered":"<p>Travailler avec des dates en PHP est l&rsquo;une de ces choses que vous ma\u00eetrisez bien, que vous travaillez sur la compr\u00e9hension ou que vous \u00eates coinc\u00e9 dans le trou du lapin de la documentation qui se trouve dans le manuel.<\/p>\n<p>Si vous travaillez avec WordPress, cependant, la probabilit\u00e9 que vous ayez besoin de travailler avec des dates est assez \u00e9lev\u00e9e. Presque tout ce que nous publions est associ\u00e9 \u00e0 au moins une date.<\/p>\n<p>Cela inclut les publications, les pages, les types de publication personnalis\u00e9s, les r\u00e9visions, les brouillons, etc.<\/p>\n<p>De plus, il est possible que le travail personnalis\u00e9 avec lequel vous devez d\u00e9velopper n\u00e9cessite que vous trouviez la diff\u00e9rence entre deux dates \u00e0 l&rsquo;aide de PHP. Et bien qu&rsquo;il existe plusieurs fa\u00e7ons de proc\u00e9der, il y a un processus que j&rsquo;ai suivi pour quelque chose.<\/p>\n<h2>La diff\u00e9rence de dates avec PHP<\/h2>\n<p>Avant de parcourir mon exemple, cela aidera \u00e0 donner un peu de contexte. Apr\u00e8s tout, tout ce sur quoi vous travaillez sera probablement un peu diff\u00e9rent de ce que je fais.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167514-61e7a4d3a7ab3.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167514-61e7a4d3a7ab3.png\" alt=\"Trouvez la diff\u00e9rence de dates en utilisant PHP (et WordPress)\" ><\/a><\/p>\n<p>L&rsquo;id\u00e9e g\u00e9n\u00e9rale peut toujours \u00eatre la m\u00eame, de sorte que l&rsquo;essentiel de ce que vous faites peut toujours \u00eatre extrapol\u00e9 \u00e0 partir du code ci-dessous. Mais permettez-moi de donner un exemple concret tir\u00e9 de mon propre travail :<\/p>\n<ol>\n<li>J&rsquo;ai un type de publication personnalis\u00e9 repr\u00e9sentant un \u00e9v\u00e9nement et l&rsquo;\u00e9v\u00e9nement en tant que date de publication.<\/li>\n<li>J&rsquo;ai besoin de savoir quand l&rsquo;\u00e9v\u00e9nement commence. Pour ce faire, je d\u00e9finis le format de date en utilisant le format n\/j\/Y tel qu&rsquo;il est pris en charge par PHP, puis je le convertis en une date \u00e0 l&rsquo;aide de la fonction <a href=\"https:\/\/php.net\/manual\/en\/function.date.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">date<\/a> de PHP .<\/li>\n<li>Ensuite, je prends la date d&rsquo;aujourd&rsquo;hui (comme un moyen facile de d\u00e9terminer la diff\u00e9rence de dates en utilisant PHP pour cet exemple) et je la convertis en une date en utilisant la m\u00eame fonction et le m\u00eame format n\/j\/Y.<\/li>\n<li>Apr\u00e8s cela, j&rsquo;instancie deux objets <a href=\"https:\/\/php.net\/manual\/en\/class.datetime.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DateTime<\/a> et calcule la diff\u00e9rence.<\/li>\n<\/ol>\n<p>Si ce n&rsquo;est pas simple, je vous recommande de cliquer sur les liens ci-dessus. Sinon, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/d72e8d0e5d66d5e905f771254c3ad566\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">voici le code<\/a>.<\/p>\n<pre><code>&lt;?php\n\n\/**\n * Determines the number of years that exist between the specified\n * event custom post type and today's date.\n *\n * @access private\n * @param  WP_Post $event A custom post type representing an event.\n * @return string  $years The difference in years.\n *\/\nprivate function get_difference_in_dates( $event) {\n\n  \/\/ If the post_date is empty, why are we here?\n  if (empty( $event['post_date']) {\n    return;\n  }\n\n  \/\/ Get the date for the start of the event and te \n  $start = date( 'n\/j\/Y', strtotime( $event['post_date']) );\n  $today = date( 'n\/j\/Y' );\n\n  \/\/ Get the date for the start of the event and today's date.\n  $start      = new DateTime( $start );\n  $end        = new DateTime( $today );\n\n  \/\/ Now find the difference in years.\n  $difference = $start-&gt;diff( $end );\n  $years      = $difference-&gt;y;\n\n  \/\/ If the difference is less than one, we'll return a string of \"&lt; 1\".\n  $years = (1 &gt; $years )? '&lt; 1': (string)$years;\n\n  return $years;\n}<\/code><\/pre>\n<p>Remarquez dans le code ci-dessus que je ne suis int\u00e9ress\u00e9 que par la r\u00e9cup\u00e9ration de la diff\u00e9rence en ann\u00e9es. Vous pouvez choisir de choisir quelque chose de diff\u00e9rent. Si tel est le cas, l&rsquo;API propos\u00e9e par PHP facilite cette t\u00e2che en examinant les propri\u00e9t\u00e9s de <a href=\"https:\/\/php.net\/manual\/en\/class.datetime.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">l&rsquo;objet DateTime<\/a>.<\/p>\n<p>Mais \u00e9tant donn\u00e9 deux dates, c&rsquo;est un moyen simple de trouver la diff\u00e9rence de dates en utilisant PHP dans le contexte de WordPress.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il existe plusieurs fa\u00e7ons de trouver la diff\u00e9rence de dates en utilisant PHP. Voici le processus que j&rsquo;ai suivi pendant un certain temps.<\/p>\n","protected":false},"author":1,"featured_media":167515,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[915,893,717,801,841,862],"tags":[1167],"class_list":["post-229076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-code-2","category-developpeur","category-php-3","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=229076"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/167515"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=229076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=229076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=229076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}