typescript - วิธีแปลงสตริงเป็นชนิดคลาส Date ใน angular 4
ฉันมีสตริงดังต่อไปนี้ในไฟล์ .ts ของฉัน
const date = "5/03/2018";
ฉันต้องการแปลงเป็นประเภทวันที่ซึ่งเป็นประเภทวันที่เริ่มต้นที่คลาส Date ของ Angular คืนค่า
Tue Apr 03 2018 20:20:12 GMT+0530 (India Standard Time)
ตอนนี้ฉันต้องแปลงวันที่ประเภทสตริงนี้เป็นประเภทวันที่มุมมองค่าเริ่มต้นของ Angular ใครช่วยได้บ้าง? ฉันได้ลองทำตามด้านล่างนี้แล้ว
const date1 = new Date("5/03/2018");
แต่มันใช้งานไม่ได้ ฉันไม่ได้รูปแบบที่ต้องการ นี่คือลิงก์ stackblitz มีคำแนะนำใด ๆ จะเป็นประโยชน์ https://stackblitz.com/edit/angular-gdwku3
คำตอบ #1
เปลี่ยนรูปแบบวันที่เป็น YYYY-MM-DD ขณะสร้างอ็อบเจ็กต์วันที่
var date=new Date ("2014-10-10"); console.log(date.toDateString());
จำไว้ว่าต้องเรียกใช้เมธอด toDateString
คำตอบ #2
ลองดูฟังก์ชันนี้ (stackblitz) มันจะจัดรูปแบบวันที่ที่เข้ามาในรูปแบบต่างๆ และคุณสามารถปรับตำแหน่งปี เดือน และวันตามต้องการได้:
parse(value: any): Date | null {
if ((typeof value === 'string') && (value.includes('/'))) {
const str = value.split('/');
const year = Number(str[2]);
const month = Number(str[1]) - 1;
const date = Number(str[0]);
return new Date(year, month, date);
} else if((typeof value === 'string') && value === '') {
return new Date();
}
const timestamp = typeof value === 'number' ? value : Date.parse(value);
return isNaN(timestamp) ? null : new Date(timestamp);
}
