Hoe zet je de datum om in dit ‘jjjj-MM-dd’ formaat in hoekige 2

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>

Snippet uitvouwen


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.

Other episodes