Skip to content

Instantly share code, notes, and snippets.

@Leboubou111
Last active November 17, 2020 12:28
Show Gist options
  • Save Leboubou111/462728d1a73c7f9525069499cc55d06a to your computer and use it in GitHub Desktop.
Save Leboubou111/462728d1a73c7f9525069499cc55d06a to your computer and use it in GitHub Desktop.
<?php
$event_start_date_formated = DateTime::createFromFormat('d/m/Y H:i', '18/11/2020 19:15');
if ($event_start_date_formated->format('d/m/Y') == date('d/m/Y', strtotime('yesterday'))) {
$show_event_start_date = 'Demain à '.strftime("%kh%M", strtotime($event_start_date_formated->format('H:i')));
<script type="text/javascript">
console.log('Jour = 1');
</script>
} else if ($event_start_date_formated->format('d/m/Y') == date('d/m/Y')) {
$dif_time = strtotime($event_start_date_formated->format('d/m/Y H:i')) - strtotime(date('d/m/Y H:i'));
$time_to_show = $event_start_date_formated->format('d/m/Y H:i');
if (date('H', ($dif_time - 3600)) > '0') {
<script type="text/javascript">
console.log('Jour = 0 et Heure < 1');
</script>
} else {
if (date('i', ($dif_time - 3600)) < '16') {
<script type="text/javascript">
console.log('Jour = 0 et Heure < 1 et minutes < 16');
</script>
}
<script type="text/javascript">
console.log('Jour = 0 et Heure >= 1');
</script>
}
} else {
$show_event_start_date = strftime("%a %e %b %kh%M", strtotime($event_start_date_formated->format('Y/m/d H:i')));
<script type="text/javascript">
console.log('Jour > 1');
</script>
}
?>
@cleclech
Copy link

En utilisant la fonction DateTime::diff t'as un DateInterval facile à utiliser.
screenshot-preview dessineleweb fr-2020 11 17-12_15_23

@Leboubou111
Copy link
Author

Mon problème venait de 2 choses :
Au lieu d'utiliser la fonction strtotime pour récupérer le timestamp de l'objet DateTime je peux le récupérer directement depuis l'objet avec ->getTimestamp()
Ensuite, lorsque je fais un strtotime sur une date, je n'utilise pas le format ISO 8601 (YYYY-MM-DD).

J'ai donc modifié, et c'est bon, ceci dit, ta méthode avec le ->diff est bien mieux, je vais donc l'utiliser ;-)
On reconnait ceux qui en font toute la journée :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment