Ik wil de huidige gegevens converteren naar de indeling 'yyyy-MM-dd'
in .ts-bestand. i sjabloon het kan eenvoudig worden gedaan met behulp van datapipe. hoe dat te doen in typoscript.
In sjabloon:
{{date | date:'yyyy-MM-dd'}}
Hoe converteert u in dit formaat 'yyyy-MM-dd'
in typoscript.
nu krijg ik alleen de huidige datum door dit te gebruiken.
this.date = new Date();
maar moet het naar een bepaald formaat converteren.
Gelieve te begeleiden hoe dat te doen… Bedankt!
Antwoord 1, autoriteit 100%
De datum kan in typoscript worden omgezet naar dit formaat 'yyyy-MM-dd'
met behulp van Datepipe
import { DatePipe } from '@angular/common'
...
constructor(public datepipe: DatePipe){}
...
myFunction(){
this.date=new Date();
let latest_date =this.datepipe.transform(this.date, 'yyyy-MM-dd');
}
en voeg gewoon Datepipe toe in de array ‘providers’ van app.module.ts. Zoals dit:
import { DatePipe } from '@angular/common'
...
providers: [DatePipe]
Antwoord 2, autoriteit 13%
Hetzelfde probleem dat ik tegenkwam in mijn project. Met dank aan @Umar Rashed, maar ik ga het in detail uitleggen.
Geef eerst Date Pipeop van app.module:
providers: [DatePipe]
Importeren naar uw component en app.module:
import { DatePipe } from '@angular/common';
Ten tweede, declareer het onder de constructor:
constructor(
public datepipe: DatePipe
) {
Datums komen van de serveren worden als volgt naar de console geparseerd:
2000-09-19T00:00:00
Ik converteer de datum naar hoe ik nodig heb met deze code;
in TypeScript:
this.datepipe.transform(this.birthDate, 'dd/MM/yyyy')
Weergeven vanuit HTML-sjabloon:
{{ user.birthDate }}
en het wordt zo gezien:
19/09/2000
ook als volgt op de website te zien:
datums weergegeven zoals gefilterd (klik om de schermafbeelding te zien)
Antwoord 3, autoriteit 7%
Een eenvoudige oplossing zou zijn om gewoon te schrijven
this.date = new Date().toLocaleDateString();
datum .toLocaleDateString()
tijd .toLocaleTimeString()
beide .toLocaleString()
Hopelijk helpt dit.
Antwoord 4, autoriteit 6%
U kunt ook formatDate gebruiken
let formattedDt = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ssZZZZZ', 'en_US')
Antwoord 5, autoriteit 6%
Je kunt dit ook proberen.
houd rekening met de datum van vandaag ’28 dec 2018′(bijvoorbeeld)
this.date = new Date().toISOString().slice(0,10);
nieuwe datum() die we krijgen als: vr 28 december 2018 11:44:33 GMT+0530 (India
Standaardtijd)toISOString wordt geconverteerd naar: 2018-12-28T06:15:27.479Z
slice(0,10) we krijgen alleen de eerste 10 tekens als datum die bevat
jjjj-mm-dd : 2018-12-28.
Antwoord 6
const formatDate=(dateObj)=>{
const days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
const months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
const dateOrdinal=(dom)=> {
if (dom == 31 || dom == 21 || dom == 1) return dom + "st";
else if (dom == 22 || dom == 2) return dom + "nd";
else if (dom == 23 || dom == 3) return dom + "rd";
else return dom + "th";
};
return dateOrdinal(dateObj.getDate())+', '+days[dateObj.getDay()]+' '+ months[dateObj.getMonth()]+', '+dateObj.getFullYear();
}
const ddate = new Date();
const result=formatDate(ddate)
document.getElementById("demo").innerHTML = result
<!DOCTYPE html>
<html>
<body>
<h2>Example:20th, Wednesday September, 2020 <h2>
<p id="demo"></p>
</body>
</html>
Antwoord 7
Ik raad je aan om Moment.jste bekijken als u problemen heeft met Angular. Het is in ieder geval een snelle oplossing zonder al te veel tijd te besteden.