ค้นหาเว็บไซต์

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);
  }

บทความที่เกี่ยวข้อง