Ich habe eine Instanz von DateTime
und möchte diese in einen String formatieren. Wie mache ich das? Ich möchte das Datum in eine Zeichenfolge verwandeln, so etwas wie "2013-04-20".
139
Sie können das intl
Paket ( Installationsprogramm ) verwenden, um Daten zu formatieren.
Für en_US
Formate ist es ganz einfach:
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
}
Es gibt viele Optionen zum Formatieren. Aus den Dokumenten:
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
Bei Nicht- en_US
Datumsangaben müssen Sie das Gebietsschema explizit laden. Weitere Informationen finden Sie in den DateFormat
Dokumenten . Das date_symbol_data_local.dart
enthält alle Formate für jedes Land / jede Sprache, wenn Sie einen genaueren Blick wünschen.
Das wird auch funktionieren:
quelle
Sie können das Datumsformat auch wie oben angegeben angeben: https://pub.dartlang.org/documentation/intl/latest/intl/DateFormat-class.html
Produziert:
March 4
quelle
Wenn jemand ein Datum im Zeichenfolgenformat in ein anderes Zeichenfolgenformat konvertieren möchte, verwenden Sie zuerst DateTime.parse ("2019-09-30") und übergeben Sie es dann an DateFormat ("Datumsmuster"). Format () wie
Referenz: Dart - So ändern Sie das Format einer einfachen Datumszeichenfolge in JJJJ-MM-TT in TT-MM-JJJJ
quelle
DateFormat
aber Ihr Text sagtDateTime.format()
Dies gibt Ihnen das Datum wie in einem sozialen Netzwerk: ["heute", "gestern", "Tag der Woche" usw.]
quelle
Es gibt ein Paket date_format
Code
Achtung: Minuten sind nn
Link zum Paket
quelle
pubspec.yaml:
main.dart:
Ergebnis:
quelle
Wenn Sie mehrere Datumsformate zu einem kombinieren möchten, können wir dies auf folgende Weise tun
intl
.quelle
Weitere Informationen finden Sie in der DateFormat-Dokumentation
quelle
Bei der Bearbeitung der jährlichen Quartale, von der Zeichenfolge bis zur DateTime, habe ich keine geeignete Lösung gefunden.
quelle