{"id":228674,"date":"2022-10-27T20:30:00","date_gmt":"2022-10-27T17:30:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228674"},"modified":"2022-11-09T03:44:50","modified_gmt":"2022-11-09T00:44:50","slug":"leidke-kuupaeevade-erinevus-php-ja-wordpressi-abil","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/leidke-kuupaeevade-erinevus-php-ja-wordpressi-abil\/","title":{"rendered":"Leidke kuup\u00e4evade erinevus PHP (ja WordPressi) abil"},"content":{"rendered":"\n<p>PHP-s kuup\u00e4evadega t\u00f6\u00f6tamine on \u00fcks neist asjadest, millega te kas oskate h\u00e4sti, t\u00f6\u00f6tate selle m\u00f5istmise nimel v\u00f5i olete juhendis sisalduva dokumentatsiooni j\u00e4neseauku kinni j\u00e4\u00e4nud.<\/p>\n<p>Kui aga t\u00f6\u00f6tate WordPressiga, on t\u00f5en\u00e4osus, et peate kuup\u00e4evadega t\u00f6\u00f6tama, \u00fcsna suur. Peaaegu k\u00f5igel, mida avaldame, on seotud v\u00e4hemalt \u00fcks kuup\u00e4ev.<\/p>\n<p>See h\u00f5lmab postitusi, lehti, kohandatud postituste t\u00fc\u00fcpe, muudatusi, mustandeid ja nii edasi.<\/p>\n<p>Lisaks on t\u00f5en\u00e4oline, et kohandatud t\u00f6\u00f6, mida peate arendama, eeldab, et leiate PHP abil erinevuse kahe kuup\u00e4eva vahel. Ja kuigi selleks on mitu v\u00f5imalust, olen siiski j\u00e4rginud protsessi.<\/p>\n<h2>PHP-i kasutavate kuup\u00e4evade erinevus<\/h2>\n<p>Enne kui ma oma n\u00e4ite l\u00e4bi l\u00e4hen, aitab see veidi konteksti anda. L\u00f5ppude l\u00f5puks on see, mille kallal te t\u00f6\u00f6tate, t\u00f5en\u00e4oliselt veidi erinev sellest, mida mina teen.<\/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=\"Leidke kuup\u00e4evade erinevus PHP (ja WordPressi) abil\" ><\/a><\/p>\n<p>\u00dcldine idee v\u00f5ib siiski olla sama, nii et teie tegevuse p\u00f5hiolemust saab siiski allolevast koodist ekstrapoleerida. Aga toon \u00fche konkreetse n\u00e4ite enda t\u00f6\u00f6st:<\/p>\n<ol>\n<li>Mul on kohandatud postituse t\u00fc\u00fcp, mis t\u00e4histab s\u00fcndmust ja s\u00fcndmust postituskuup\u00e4evana.<\/li>\n<li>Ma pean teadma, millal \u00fcritus algab. Selleks defineerin kuup\u00e4evavormingu, kasutades n\/j\/Y-vormingut, mida toetab PHP, ja teisendan selle kuup\u00e4evaks PHP <a href=\"https:\/\/php.net\/manual\/en\/function.date.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kuup\u00e4evafunktsiooni<\/a> abil.<\/li>\n<li>J\u00e4rgmiseks v\u00f5tan t\u00e4nase kuup\u00e4eva (lihtsa viisina selle n\u00e4ite puhul PHP abil kuup\u00e4evade erinevuse m\u00e4\u00e4ramiseks) ja teisendan selle kuup\u00e4evaks, kasutades sama funktsiooni ja n\/j\/Y vormingut.<\/li>\n<li>P\u00e4rast seda loon kaks <a href=\"https:\/\/php.net\/manual\/en\/class.datetime.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DateTime<\/a> objekti ja arvutan erinevuse.<\/li>\n<\/ol>\n<p>Kui see pole lihtne, soovitan kl\u00f5psata \u00fclaltoodud linkidel. Muidu <a href=\"https:\/\/gist.github.com\/tommcfarlin\/d72e8d0e5d66d5e905f771254c3ad566\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">on kood siin<\/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>M\u00e4rkus \u00fclaltoodud koodis, et olen huvitatud ainult aastate erinevuse leidmisest. V\u00f5ite valida midagi muud. Kui see nii on, teeb PHP pakutav API seda h\u00f5lpsaks, uurides <a href=\"https:\/\/php.net\/manual\/en\/class.datetime.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DateTime objekti<\/a> atribuute .<\/p>\n<p>Kuid arvestades kahte kuup\u00e4eva, on see lihtne viis kuup\u00e4evade erinevuse leidmiseks PHP-ga WordPressi kontekstis.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP abil on kuup\u00e4evade erinevuse leidmiseks mitu v\u00f5imalust. Siin on protsess, mida olen m\u00f5nda aega j\u00e4lginud.<\/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":[718,894,916,842,802,863],"tags":[1165],"class_list":["post-228674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-muud","category-opetused","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=228674"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/167515"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=228674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=228674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=228674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}