Konverter streng til en dato ved hjelp av JavaScript

Konverter streng til en dato ved hjelp av JavaScript
En datovariabel kan enkelt konstrueres ved å følge to forskjellige måter. Begge måter inkluderer i hovedsak å ringe til Ny dato () Konstruktør levert av JavaScript Date -objektet. Denne artikkelen vil se på hvordan du konverterer en datostreng til en databrikkvariabel.

Akseptable notasjoner om en datostreng

Før vi konstruerer datovariabler fra datastrenger, må vi kjenne de akseptable formatene for datostrenger i JavaScript, som hjelper brukeren å kjøre koden sin uten å møte feil.

Vel, de beste notasjonene for datostrengene er de som er satt opp av ISO, som er en forkortelse for internasjonal organisasjon for standardisering. Dato ISO -format og JavaScript Date -objektfunksjonen er de mest behagelige strengformatene for strengparsing.

ISO -formateksempler inkluderer Yyyy-mm-dd og YYYY-MM-DDTHH: MM: SS.

Metode 1: Passering av en ISO -dato -streng direkte inn i datakonstruktøren

For å demonstrere denne metoden, lag ganske enkelt en ny datostreng med følgende linje:

Datestring = "2005 25. februar";


Etter det, bare oppretter en ny variabel og sett den variabelen lik datakonstruktøren ved å bruke nøkkelordet "ny", og i konstruktøren passerer i datestring som:

dato1 = ny dato (streng);


Så bare passere dette Dato1 Variabel i konsollloggfunksjonen for å vise den på terminalen, og også for å bekrefte at dette nå er en datovariabel konstruert fra en streng:

konsoll.logg (dato1);


Utfør koden og følg følgende utgang på terminalen:


Det er klart fra resultatet i terminalen det Dato1 er faktisk en date -variabel konstruert fra en streng.

For å demonstrere bruken av en ugyldig datostreng, angi variabelen datestring lik et ugyldig format som:

Datestring = "2005 25. februar";


Etterpå, gjør de samme trinnene, pass dette i dato () konstruktør og vis resultatet på terminalen ved hjelp av konsollloggfunksjonen:

dato1 = ny dato (datestring);
konsoll.logg (dato1);


Ved utførelse av dette viser terminalen følgende utfall:


Resultatet er som "Ugyldig dato", Noe som betyr at ikke hver streng kan tolkes til en date -variabel. Det er grunnen til at det er viktig å følge formatet for datostrengen.

Metode 2: Bruk metoden dato parse () for å analysere strengen først

I denne andre metoden, kan du bare starte med å opprette en ny datostreng med følgende linje:

Datestring2 = "1997 5. juni";


Nå, bare pass denne strengen inne i datoen Parse () for å få tiden gått fra 1. januar 1970, til datoen som er representert i strengen i form av millisekunder:

Milli = dato.parse (Datestring2);


Etterpå kan vi bruke disse millisekundene til å konstruere en ny date -variabel ved å sende dem i dato konstruktør som:

Dato2 = ny dato (Milli);


Etterpå kan du bare vise verdien av Dato2 Variabel på terminalen ved å bruke konsollloggfunksjonen:

konsoll.logg (date2);


Utfør programmet, og terminalen vil vise følgende utfall:


Det fremgår av utdata at dette er en datovariabel konstruert fra den gitte strengen. Imidlertid, hvis du merker verdien på utdata at datoen for månedens del er en mindre enn verdien vi passerte i strengen. Det skal være 5. juni, men det er 4. juni i produksjonen.

Årsaken er at i datoobjektet eller datovariablene starter "Dato for måneden" -delen fra 0 i stedet for 1. Derfor er 5. juni 1997 representert av “1997-06-04”.

Konklusjon

Vi kan enkelt konvertere en streng til en dato i JavaScript ved å bruke Ny dato () Konstruktør, som kommer som et standardobjekt i JavaScript. Det eneste å legge merke til er at ikke alle streng kan konverteres til en dato. Et riktig formatoppsett av ISO må følges for datostrengen. De to metodene inkluderer å ringe direkte til den nye dato () konstruktøren, og den andre inkluderer først å konvertere eller analysere strengen til millisekunder og deretter ringe til den nye dato () konstruktøren.