Saya punya instance DateTime
dan saya ingin memformatnya menjadi String. Bagaimana aku melakukan itu? Saya ingin mengubah tanggal menjadi string, sesuatu seperti "2013-04-20".
141
Anda dapat menggunakan intl
paket ( penginstal ) untuk memformat tanggal.
Untuk en_US
format, ini cukup sederhana:
import 'package:intl/intl.dart';
main() {
final DateTime now = DateTime.now();
final DateFormat formatter = DateFormat('yyyy-MM-dd');
final String formatted = formatter.format(now);
print(formatted); // something like 2013-04-20
}
Ada banyak opsi untuk memformat. Dari dokumen:
ICU Name Skeleton
-------- --------
DAY d
ABBR_WEEKDAY E
WEEKDAY EEEE
ABBR_STANDALONE_MONTH LLL
STANDALONE_MONTH LLLL
NUM_MONTH M
NUM_MONTH_DAY Md
NUM_MONTH_WEEKDAY_DAY MEd
ABBR_MONTH MMM
ABBR_MONTH_DAY MMMd
ABBR_MONTH_WEEKDAY_DAY MMMEd
MONTH MMMM
MONTH_DAY MMMMd
MONTH_WEEKDAY_DAY MMMMEEEEd
ABBR_QUARTER QQQ
QUARTER QQQQ
YEAR y
YEAR_NUM_MONTH yM
YEAR_NUM_MONTH_DAY yMd
YEAR_NUM_MONTH_WEEKDAY_DAY yMEd
YEAR_ABBR_MONTH yMMM
YEAR_ABBR_MONTH_DAY yMMMd
YEAR_ABBR_MONTH_WEEKDAY_DAY yMMMEd
YEAR_MONTH yMMMM
YEAR_MONTH_DAY yMMMMd
YEAR_MONTH_WEEKDAY_DAY yMMMMEEEEd
YEAR_ABBR_QUARTER yQQQ
YEAR_QUARTER yQQQQ
HOUR24 H
HOUR24_MINUTE Hm
HOUR24_MINUTE_SECOND Hms
HOUR j
HOUR_MINUTE jm
HOUR_MINUTE_SECOND jms
HOUR_MINUTE_GENERIC_TZ jmv
HOUR_MINUTE_TZ jmz
HOUR_GENERIC_TZ jv
HOUR_TZ jz
MINUTE m
MINUTE_SECOND ms
SECOND s
Untuk non- en_US
tanggal, Anda perlu memuat secara eksplisit di lokal. Lihat DateFormat
dokumen untuk info lebih lanjut. The date_symbol_data_local.dart
berisi semua format untuk setiap negara / bahasa, jika Anda ingin lebih mendalam.
Ini juga akan bekerja:
sumber
Anda juga dapat menentukan format tanggal seperti yang dinyatakan sebelumnya: https://pub.dartlang.org/documentation/intl/latest/intl/DateFormat-class.html
Menghasilkan:
March 4
sumber
Jika seseorang ingin mengonversi tanggal dalam format string ke beberapa format string lainnya, pertama-tama gunakan DateTime.parse ("2019-09-30") kemudian berikan ke DateFormat ("pola tanggal"). Format () seperti
Referensi: Dart - Bagaimana mengubah format string tanggal sederhana yang ada di yyyy-MM-dd ke dd-MM-yyyy
sumber
DateFormat
tetapi teks Anda mengatakanDateTime.format()
Ini memberi Anda tanggal seperti di jejaring sosial: ["hari ini", "kemarin", "dayoftheweek", dll.]
sumber
Ada paket date_format
kode
Perhatikan: menit yang nn
tautan ke paket
sumber
pubspec.yaml:
main.dart:
Hasil:
sumber
Jika Anda ingin menggabungkan beberapa format tanggal menjadi satu, ini adalah bagaimana kami dapat menggunakannya
intl
.sumber
Untuk lebih jelasnya bisa merujuk Dokumentasi DateFormat
sumber
menangani kuartal tahunan, dari string ke DateTime, saya tidak menemukan solusi yang tepat sehingga membuat ini:
sumber