Je dois essayer de savoir si un horodatage unix est entre 21 jours et 49 jours à compter de la date actuelle. Quelqu'un peut-il m'aider à résoudre ce problème? Merci!Différence de temps entre les horodatages unix
Répondre
Bienvenue à SO!
Cela devrait le faire:
if (($timestamp > time() + 1814400) && ($timestamp < time() + 4233600)) {
// date is between 21 and 49 days in the FUTURE
}
Cela peut être simplifiée, mais je pensais que vous vouliez voir un exemple plus bavard :)
Je reçois 1814400
de 21*24*60*60
et 4233600
de 41*24*60*60
.
Modifier: J'ai supposé futures dates. Notez également time()
renvoie secondes (par opposition aux millisecondes) depuis l'Epoch en PHP.
Voici comment vous le faites dans le passé (depuis que vous avez modifié votre question):
if (($timestamp > time() - 4233600) && ($timestamp < time() - 1814400)) {
// date is between 21 and 49 days in the PAST
}
Merci David, parfait! Il est entre 21 et 49 jours dans le passé, donc je vais juste modifier votre extrait – pauld78
Oui, je l'ai corrigé aussi: p –
Sachez que certains jours sont plus courts/plus de 24 heures en raison de l'heure d'été, etc. calculs tremblants. J'évite généralement de faire des calculs sur des horodatages bruts comme ça et j'utilise à la place des fonctions intégrées pour les manipulations de date. –
La classe est DateTime PHP5 très adapté à ce genre de tâches.
$current = new DateTime();
$comparator = new DateTime($unixTimestamp);
$boundary1 = new DateTime();
$boundary2 = new DateTime();
$boundary1->modify('-49 day'); // 49 days in the past
$boundary2->modify('-21 day'); // 21 days in the past
if ($comparator > $boundary1 && $comparator < $boundary2) {
// given timestamp is between 49 and 21 days from now
}
Objet overkill> _ < –
strtotime
est très utile dans ces situations, car vous pouvez presque parler anglais naturel.
$ts; // timestamp to check
$d21 = strtotime('-21 days');
$d49 = strtotime('-49 days');
if ($d21 > $ts && $ts > $d49) {
echo "Your timestamp ", $ts, " is between 21 and 49 days from now.";
}
Alors que dans cet exemple il peut être trivial, la fonction time() dans PHP 5.2.13 source est une ligne de code C alors que la fonction strtotime() est d'environ 55 lignes et appelle BEAUCOUP d'externes. Si cela a été utilisé dans une boucle en particulier, time() serait le chemin à parcourir. – TomWilsonFL
C'est vrai. Mais si vous avez seulement besoin de définir un horodatage une fois, ce n'est pas trop cher quand vous considérez la lisibilité accrue. –
+1 Pour utiliser les fonctions intégrées qui prennent en compte les problèmes de date liés aux paramètres régionaux. –
- 1. Calculer la durée en mois entre deux horodatages unix
- 2. Différence MySql entre deux horodatages en secondes?
- 3. Différence de temps entre les enregistrements
- 4. Comment obtenir les résultats corrects calculant deux horodatages unix
- 5. MYSQL - Retrouver les horodatages entre les dates
- 6. Supprime les fichiers créés entre certains horodatages.
- 7. SQL pour comparer deux horodatages unix?
- 8. Obtenir les horodatages futurs
- 9. Le constructeur Flex Date() convertit incorrectement les horodatages Unix argh
- 10. Différence entre les dates
- 11. Comment trouver la différence de temps moyenne entre les lignes d'un tableau?
- 12. Récupère le (s) point (s) de changement de jour entre deux horodatages UNIX
- 13. Comment calculer l'intervalle de temps à partir des horodatages?
- 14. Comparez deux horodatages par minute différence?
- 15. temps Calculer écoulé depuis horodatages du journal en utilisant Ruby
- 16. différence entre la bibliothèque statique et dynamique dans unix
- 17. Obtenir la différence entre deux périodes (Unix Epoch)
- 18. Différence entre la mémoire partagée et le canal dans unix?
- 19. Traiter les horodatages en R
- 20. différence entre les dates
- 21. Problème de différence entre deux intervalles de temps
- 22. Calculer la différence de temps entre deux rangées
- 23. Est-ce que différents serveurs doivent traduire les horodatages unix comme des dates différentes?
- 24. Comment calculer l'intervalle entre 2 horodatages unix en php SANS diviser par 86400 (60 * 60 * 24)
- 25. différence de temps entre deux fois dans la même table
- 26. Différence de temps entre mon serveur et betfair
- 27. Comment trouver la différence entre deux horodatages en utilisant le langage de requête Hibernate
- 28. solution fuseau horaire Javascript nécessaire (en tenant compte de la différence réelle dans horodatages UTC)
- 29. Différence entre l'horodatage php? Ou timestamp mysql?
- 30. La différence entre les boucles
Entre 21 et 49 jours à compter de la date du jour dans quelle direction? Passé ou futur? –
Désolé, j'ai oublié de mentionner ce détail crucial! dans le passé – pauld78