Datum en tijd weergeven: hoe u het goed moet doen
We komen die data en tijd tegen ... nou ja, elke dag. Als het gaat om het web, kunt u ze herkennen in uw mobiele apps, in e-mails, in uw berichten-apps en op vele andere plaatsen. Maar ondanks dat we elke dag en overal datum en tijd zien, moeten we er nog een universeel formaat voor aannemen.
Als ik bijvoorbeeld 10/05/2015 schrijf, weet je nooit zeker of die "10" de maand of de datum is, tenzij ik je vertel waar ik vandaan kom. Soms verandert het formaat, andere keer de taal.
Het is van belang dat we als webontwikkelaars aandacht besteden aan de datum en het tijdstip waarop we in onze projecten werken, zodat we ze zonder conflicten kunnen verzorgen voor verschillende geografische inwoners . In deze post zullen we bespreken wat te vermijden en wat te omarmen als het gaat om het weergeven van datum-tijd.
globalisering
Laten we zeggen dat we verschillende datum- en tijdnotaties niet willen converteren naar andere kijkers over de hele wereld, wat kunnen we doen? We kiezen een globaal formaat en houden het bij. Hier komt een aantal standaards om de hoek kijken. Voordat we dat doen, moet ik adviseren dat W3C aanbeveelt om het datumformaat van de ISO 8601-datum met UTC-tijdzone te gebruiken.
ISO 8601
ISO 8601 beschrijft een internationaal geaccepteerde manier om datums en tijden met cijfers weer te geven.
En het formaat voor de volledige datum is; YYYY-MM-DD
, bijvoorbeeld: 2015-07-28
YYYY = 4 digit year
MM = 2 digit month (01=January, etc.)
DD = 2 digit day (01 to 31)
Voor volledige datum-tijd; YYYY-MM-DDThh:mm:ss.s
, bijvoorbeeld: 2015-07-28T21:15:18.45
T = To separate date and time according to ISO 8601
mm = 2 digit minute (00 through 59)
ss = 2 digit second (00 through 59)
s = Decimal fraction of a second, 1 or more digits
Houd er rekening mee dat er geen tijdzone is vermeld in het bovenstaande voorbeeld, dus er moet worden aangenomen dat de tijd in de lokale tijdzone ligt. Als u hebt besloten om de UTC-tijdzone te gebruiken, voegt u Z toe aan de waarde om UTC aan te duiden
Bijvoorbeeld: 2015-07-28T21:15:18.45Z
Maar als u de lokale tijd wilt weergeven, kunt u een tijdzoneverschuiving voor UTC toevoegen aan de waarde in de formaten +hh:mm
of -hh:mm
indien nodig.
Bijvoorbeeld: Laten we aannemen dat 2015-07-28T21:15:18.45
zich in de EST (Eastern Standard Time) -tijdzone bevindt die 5 uur achterloopt op UTC-tijdzone.
Om het te vertegenwoordigen met UTC-offset schrijven we 2015-07-28T21:15:18.45-05:00
wat gelijk is aan de UTC-tijd 2015-07-29T02:15:18.45Z
.
Opnieuw wordt Z toegevoegd om aan te geven dat de weergegeven datum-tijd in UTC-tijd is.
UTC versus GMT
Ze zijn allebei hetzelfde maar toch verschillend. Inmiddels bent u waarschijnlijk minstens één keer GMT tegengekomen; tijdens het instellen van de datum-tijd op uw mobiele telefoon of computer. Het is wereldwijd de meest populaire tijdzone die wordt herkend sinds het langer bestaat dan UTC.
Sommigen zullen misschien zeggen dat ze allebei hetzelfde zijn, maar dat zijn ze niet, UTC is een opvolger van GMT en wordt onderhouden door de International Telecommunications Union. Het wordt aanbevolen om te verwijzen naar tijd op basis van UTC en niet GMT.
Gebruik de naam van de maand
De ISO-norm gebruikte alleen cijfers in de datumweergave om taalconflicten te voorkomen. Maar als de inhoud van uw webtoepassing in het Engels is, moet u overwegen om maanden in het Engels te schrijven in plaats van in cijfers.
In plaats van 2015-07-28
, 28, July, 2015
is het voor velen gemakkelijker te begrijpen en minder verwarrend.
Localization
Soms willen we heel specifiek zijn met onze diensten en willen we de datum en tijd weergeven in lokale tijdzones en talen. Er zijn veel bibliotheken en API's beschikbaar voor webontwikkelaars om gebruik te maken en de datums en tijden weer te geven volgens de toegangsregio.
U kunt de standaardlandinstelling van de browser verkrijgen door de Accept-Language
verzoekkop te interpreteren of door het JavaScript-object navigator.language or navigator.browserLanguage
, maar de beste methode is om de gebruiker een landinstelling in uw toepassing te laten kiezen, omdat de eerdere manieren niet zijn zeer betrouwbaar.
Als u eenmaal de locale hebt, kunt u de datum volgens deze indeling opmaken, bijvoorbeeld met behulp van de Internationalization API, u kunt een datum opmaken met toLocaleDateString
in JavaScript, bijvoorbeeld myDate.toLocaleDateString('ko-KR')
retourneert een opgemaakte datum in het formaat dat in Korea wordt gebruikt door Koreaanssprekende autochtonen.
Zomertijd (Zomertijd)
In bepaalde landen wordt de zomertijd bereikt door de klokken in de zomer met een uur door te sturen om gebruik te maken van het extra zonlicht dat beschikbaar is. Houd rekening met DST om de lokale tijden in uw services bij te houden.
Geen tweecijferig jaar
Terwijl u de datum en tijd aanpast voor lokalisatie, kunt u het tweecijferige formaat voor het jaar op geen enkel moment gebruiken. We zijn al in de 21e eeuw. Het gebruik van jaren zoals 64
, 99
enz. Zal in de toekomst lastig zijn. Als u al een tweecijferig jaarsysteem heeft, overweeg dan om het te veranderen.
Schrikkeljaar en andere kalenders
Laten we dit bericht beëindigen met een aantal verschillende dingen om te onthouden tijdens het omgaan met datums. Als je geen bibliotheek of API gebruikt voor data en er graag zelf mee om wilt gaan (wat desondanks niet wordt aangeraden), vergeet dan niet om 29 februari in de input voor de schrikkeljaren te laten zien.
Het is ook vermeldenswaard dat de Gregoriaanse kalender niet de enige vorm van kalender is die overal ter wereld wordt gebruikt. Er zijn maar weinig regionale kalenders die de lokale bevolking volgt, vooral als het gaat om feestelijkheden.
Referenties
- International Telecommunications Union: Status of Coordinated Universal Time (UTC) -studie in ITU-R
- ISO: ISO 8601 - Datum- en tijdnotatie
- Wikipedia: Coordinated Universal Time
- Wikipedia: zomertijd
- Wikipedia: Greenwich Mean Time
- W3C Opmerking: datum- en tijdnotatie
- W3C-tips: gebruik internationale datumnotatie (ISO)
Showcase van inspirerende boomlogo's
Boomlogo's worden door veel bedrijven in verschillende industrieën over de hele wereld gebruikt. Het gebruik van het boomlogo is een universeel herkenbaar symbool dat veel dingen vertegenwoordigt, waarvan sommige leven, wijsheid, kracht, bescherming en overvloed zijn. De populariteit van boomlogo's is te wijten aan bepaalde eigenschappen die aan hen worden toegeschreven, waaronder de volgende:Ten eerste hebben boomlogo's een effectieve visuele impact door groei en welvaart te illustreren.
12 Chrome-extensies om het beste uit Google Drive te halen
Ongetwijfeld is Google Drive een geweldige gesynchroniseerde cloudopslagservice waarmee u uw bestanden, mappen, foto's en video's vanaf elke locatie veilig kunt opslaan en openen.Om de bruikbaarheid te verbeteren en u te helpen meer uit Google Drive te halen, is er een groot aantal verschillende extensies beschikbaar