2015-11-11 4 views
2

Les MongoDB manual énonce l'agrégation $week et %U opérateur dans strftime travail comme celui-ci:La semaine MongoDB de l'année est-elle conforme à la norme ISO 8601?

Renvoie la semaine de l'année pour une date un nombre compris entre 0 et 53.

semaines commencent le dimanche et La semaine 1 commence le premier dimanche de l'année . Les jours précédant le premier dimanche de l'année sont en semaine 0. Ce comportement est le même que l'opérateur "% U" de la fonction de bibliothèque standard de strftime.

Est-ce que cela est conforme à ISO 8601 week of the year standard?

Répondre

3

n ° ISO 8601 n'a pas la semaine 0.

Selon la norme:

La définition ISO 8601 pour la semaine 01 est la semaine avec la première de l'année jeudi en elle.

...

  • Sur 1 Janvier est un lundi, mardi, mercredi ou jeudi, il est à la semaine 01;
  • Si le 1er janvier est un vendredi, cela fait partie de la semaine 53 de l'année précédente;
  • Si un samedi, il fait partie de la semaine 52 (ou 53 si l'année précédente était une année bissextile);
  • Si un dimanche, il fait partie de la semaine 52 de l'année précédente.

Il existe un ticket ouvert qui suggère d'ajouter d'autres options pour la numération hebdomadaire; il y a une suggestion pour $isoweek dans les commentaires:

https://jira.mongodb.org/browse/SERVER-7695