Aide pour un futur tuto : référencement des libs et méthodes de dates et heures

a marqué ce sujet comme résolu.

Salut les agrumes !

Je prépare un tuto sur les dates (et tout ce qui va avec), et pour ça j’aurais besoin de votre aide !

Dans votre langage préféré, quelles sont :

  • Les bibliothèques les plus utilisées / pratiques pour gérer des dates, heures, fuseaux horaires et instants ?
  • Les méthodes pour gérer les horloges « légales » ?
  • Les méthodes pour gérer les horloges « monotoniques » ?
  • Une horloge « légale » étant une horloge qui donne l’heure courante dans un fuseau horaire donné, donc qui va « sauter » (voire reculer) au moment des changements d’heures.
  • Une horloge « monotonique » étant une horloge qui ne va jamais reculer pendant l’exécution du programme, même si l’utilisateur modifie la date de son système.

Pour l’instant, j’ai :

  • Java

  • JavaScript

  • Perl

  • Python

    • Module standard datetime, pytz pour gérer les fuseaux horaires.
  • R

    • lubridate, dont
    • Durations pour les calculs sur des dates légales, et
    • Periods pour les calculs sur des dates monotoniques.

Merci d’avance pour votre aide !

En Python, c’est le module standard datetime qui est le plus utilisé. Accessoirement il y a aussi un module calendar dans la bibliothèque standard pour dessiner des calendriers dans la console (?!).

Pour gérer les fuseaux horaires "légaux", ce sera le module pytz sur le Pypi.

+0 -0

En R la librairie la plus utilisée est sans doute libradate. J’avoue ne pas trop savoir si c’est  monotonique ou non, je ne me suis jamais posé la question. :p

+0 -0

Merci à vous, je rajoute déjà ça dans le premier post.

@A-312: Tu dois connaitre le format de tes dates, sans quoi c’est très souvent un problème indécidable. Ce n’est donc pas quelque chose à deviner mais une information à récupérer. De plus, le format mois/jour/année n’est pas un format anglo-saxon, mais seulement un format nord-américain (USA et Canada).

Je pense qu’il est bien de préciser que pour des raisons de changement d’heure (heure été / hiver ou déplacement du périphérique sur plusieurs zones horaires), il ne faut jamais (en dehors de l’affichage) faire une comparaison brute entre deux dates sans employer l’horloge monotonique. En particulier pour piloter une boucle ou une condition, car dans ce cas des valeurs aberrantes peuvent apparaître et former des boucles infinies…

+0 -0

Je pense qu’il est bien de préciser que pour des raisons de changement d’heure (heure été / hiver ou déplacement du périphérique sur plusieurs zones horaires), il ne faut jamais (en dehors de l’affichage) faire une comparaison brute entre deux dates sans employer l’horloge monotonique. En particulier pour piloter une boucle ou une condition, car dans ce cas des valeurs aberrantes peuvent apparaître et former des boucles infinies…

Renault

Certaines API ou sources ne permettent que ça. :/

En C++, si tu veux prendre un peu d’avance, c’est cette lib qui a été intégrée au C++20 (elle est utilisable en C++11/14/17) : https://github.com/HowardHinnant/date

(on peut trouver la doc de la lib <chrono> en C++20 sur cppreference : https://en.cppreference.com/w/cpp/chrono )

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte