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

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 เพื่อดึงส่วนของสตริงที่คุณต้องการ

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