Je souhaite représenter un intervalle de temps en tant que début/fin, mais aussi en tirant parti des abréviations que l'ISO 8601 semble autoriser: pour les champs de fin d'intervalle qui sont les mêmes que dans le point de départ. Par exemple, l'intervalle commençant maintenant et durant une semaine serait 2016-06-08T12: 27Z/15T12: 27 (notez l'omission d'un second "2016-06-").Comment formater un intervalle de temps de manière concise comme ISO 8601 début/fin en PHP?
Pour conjurer un problème potentiel XY, essayez de deviner: I ne voulez pas voulez que cet intervalle soit représenté comme 2016-06-08T12: 27Z/P1W, même s'il est plus court. I do veut que l'heure de fin soit représentée directement, mais abrégée dans la mesure du possible.
Je ne pense pas que DatePeriod fasse ce que je veux, n'est-ce pas? Il semble soit faire la moitié du travail (début et fin indépendamment, sans possibilité d'abréviation) ou le mauvais travail (renvoyant une durée, pas une heure de fin).
PHP nous a laissés vous avez le contrôle total sur le formatage de la date. Il suffit de spécifier le format désiré lors de la sortie de la date. Il n'y a pas de spécial qui doit être fait. –
@JohnConde Je ne peux pas spécifier de format statique car je ne sais pas a priori quels champs seront identiques et prêts à être omis. IOW Je ne peux pas savoir statiquement ce que mon "format désiré" (en termes de fonctions de type strftime) est. –