angular - ฉันสามารถจัดรูปแบบวันที่ใน typescript ได้อย่างไร?
เมื่อฉันทำ new Date() ใน Angular2 (typescript) ฉันได้รับ -> DATEE พุธ ก.ค. 18 2018 09:13:40 GMT+0200
ปัญหาคือฉันได้ส่ง Date ไปยัง Java แต่ Java ไม่อนุญาตรูปแบบนี้
Java อนุญาตให้ใช้ได้เฉพาะ ,dd/mm/aaaa หรือ aaaa/mm/dd แต่ไม่อนุญาตให้ Wed Jul 18 2018 09:13:40 GMT+0200.
ฉันพยายามสร้างรูปแบบใหม่ใน Angular แต่ก็มักจะได้เป็น String เสมอ แต่ฉันต้องการรูปแบบ Date เพราะคลาสของฉันใน Java รับเป็น Date
let myDate: Date, myDay, myMonth, myYear;
myDate = new Date();
myDay = myDate.setUTCFullYear;
console.log(myDay);
myDay = myDate.toISOString;
console.log(myDay);
console.log(typeof(myDay));
console.log(new Date(myDay));
ฉันไม่สามารถติดตั้งไลบรารีที่ Angular ไม่ได้นำมาด้วยโดยค่าเริ่มต้น เช่น: "moment" ขอบคุณ
คำตอบ #1
คุณสามารถใช้ DatePipe ของ Angular ได้ ในคอมโพเนนต์ที่คุณต้องการจัดรูปแบบ:
เพิ่ม
providers: [DatePipe]
จากนั้นนำเข้าคลาส
import { DatePipe } from '@angular/common';
จากนั้นฉีดในตัวสร้าง
constructor(public datepipe: DatePipe){}
และจากนั้นในโค้ดคุณสามารถจัดรูปแบบได้เหมือน
this.datepipe.transform(this.dueDate, 'yyyy/MM/dd')
เปลี่ยนรูปแบบจาก 'yyyy/MM/dd' เป็นรูปแบบที่คุณต้องการ
คำตอบ #2
คุณสามารถใช้
new Date().toLocaleString() => "11/10/2016, 11:49:36 น."
จากนั้นใช้ string.slice เพื่อดึงส่วนของสตริงที่คุณต้องการ
