รูปแบบ Dart / Flutter Date

Oct 01 2020

ฉันกำลังพยายามเปลี่ยนรูปแบบของสตริงวันที่ที่ส่งคืนจาก API สตริงอินพุตรูปแบบวันที่ด้านล่างทำงานได้ดีใน java แต่ไม่อยู่ใน Dart

 DateTime tempDate = new DateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aa")
          .parse(notification.createdat);
      final DateFormat formatter = DateFormat('EEE M/d/yy h:mm a');
      final String formatted = formatter.format(tempDate);

นี่คือข้อผิดพลาดที่ได้รับการแก้ไข:

คำตอบ

1 Er1 Oct 01 2020 at 19:29

อาจเป็นเพราะSEPเป็นตัวพิมพ์ใหญ่ทั้งหมด คุณสามารถทดสอบสิ่งนี้ได้โดยใส่สตริงคงที่โดยมีSepas month ในฟังก์ชัน parse

DateTime tempDate = new DateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aa")
          .parse('30-Sep-20 12.50.18.518880 pm');
      final DateFormat formatter = DateFormat('EEE M/d/yy h:mm a');
      final String formatted = formatter.format(tempDate);

ตรวจสอบไวยากรณ์ที่เหมาะสมที่นี่ https://unicode-org.github.io/icu/userguide/format_parse/datetime/#datetime-format-syntax