Pakete, Repositories und App-Kategorien suchen

Paketdetailsv5.3.4

moment_dart

Zweckmäßige, unveränderliche DateTime-Unterklasse. Unterstützt mehrere Lokalisierungen, um DateTime und Duration einfach in menschenlesbare Formate zu konvertieren

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
6820
Likes
86
Pub-Punkte
160

Paket installieren

flutter pub add moment_dart

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

moment_dart ist eine mehrzweckmäßige, immutable DateTime-Unterklasse, die für die einfache Datums- und Zeitanpassung in Flutter-Anwendungen entwickelt wurde. Sie unterstützt mehrere Lokalisierungen und ermöglicht Entwicklern, DateTime- und Duration-Objekte in menschenlesbare Formate umzuwandeln, die an verschiedene Sprachen und Regionen angepasst sind. Aufgrund der Immunität gewährleistet sie sicheren und vorhersehbaren Zustandsmanagement. Das Paket integriert sich nahtlos in Android, iOS, Web, macOS, Windows und Linux und ist daher ideal für plattformübergreifende Anwendungen, die überzeugende Datumsformatierung und Lokalisierungsfunktionen erfordern.

Anwendungsfälle

  • Datumsformatierung in mehreren Sprachen
  • Berechnung von Zeitdifferenzen mit lesbarer Ausgabe
  • Lokalisierte Kalender-Schnittstellen erstellen
  • Umgang mit zeitzonebewussten Datumsoperationen
  • Dynamische Zeit-Vergangenheits-Strings erstellen
  • Vereinfachung der Daueranzeige in Benutzeroberflächen

Hauptmerkmale

  • Immutable-DateTime-Ersatz
  • Eingebaute Lokalisierungssupport
  • Lesbare Zeitformatierung
  • Plattformübergreifende Kompatibilität
  • Dauer-zu-String-Konvertierung
  • Ketten- und fließende API

Geeignet für

  • Internationalisierte Flutter-Apps
  • Apps, die Zeitangaben anzeigen müssen
  • Kalender- und Terminplanungstools
  • Lokalisierungsintensive Projekte
  • Entwickler, die Funktionen wie moment.js in Dart suchen

Hinweise

  • Erforderliche sorgfältige Behandlung von Zeitzonen
  • Kann die Bundle-Größe leicht erhöhen
  • Beschränkt auf Datums-/Zeitformatierungsanwendungsfälle
  • Nicht geeignet für komplexe Datumsarithmetik
  • Hängt von externen Lokalisierungsdaten ab
  • Am besten mit dem intl-Paket für vollständige i18n-Unterstützung kombinierbar

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

moment_dart

pub package License: MIT All Contributors

Inspired by moment.js

References

📖 Read documentation
🆕 Migrate to 5.x.x

Usage

Creating instance

There are multiple ways to create an instance.

// From DateTime
final a = DateTime.now().toMoment();

final b = Moment(DateTime(...));

// This instance won't be affected by global localization!
final c = Moment(b, localization: MomentLocalizations.koKr());
Setting global localization

By default, the global localization is en_US.

Moment.setGlobalLocalization(MomentLocalizations.fr());
Relative Duration

Relative durations are rather inprecise. See precise duration for accuracy and flexibility.

Read about thresholds, and more on docs

final yesterday = Moment.now() - const Duration(days: 1);
yesterday.fromNow(); // a day ago

final add5sec = Moment.now().add(const Duration(seconds: 5));
add5sec.fromNow(dropPrefixOrSuffix: true); // a few seconds
Precise duration

You can create localized human-readable duration text with abbreviation, highly-customizable units.

See more on docs. (delimiter, custom units, abbreviation...)

On Duration objects:

Duration(days: 67, hours: 3, minutes: 2).toDurationString(
  localization: MomentLocalizations.de(),
  form: Abbreviation.semi,
); // in 2 Mo. 7 Tg.

For Moment:

final epoch = Moment.fromMillisecondsSinceEpoch(0);
final now = DateTime(2023, DateTime.july, 14).toMoment();

print(epoch.fromPrecise(now)); // 53 years 7 months ago
Calendar
final Moment now = Moment.now();

print(now.calendar()); // Today at 03:00 PM
Other helpful methods

moment_dart provides numerous convenience methods. Works on both Moment and DateTime.

See all available options in the docs

final now = DateTime.now(); // July 19 2023 03:12 PM (UTC+8)

// ISO week, ISO week year
now.week; // 48
now.weekYear; // 2023

now.isLeapYear; // false

// Date creates new `DateTime` with hours, minutes, etc.. omitted
now.date; // July 19 2023 00:00 AM

now.clone(); // July 19 2023 03:12 PM

now.nextTuesday(); // July 25 2023 03:12 PM

// and many more!

Contributing

Contributions of any kind are welcome! Please refer to CONTRIBUTE.md

Contributors

Батмэнд Ганбаатар
Батмэнд Ганбаатар

💻 🚧 🌍 📖
Ultrate
Ultrate

💻 🌍
Muhammadyusuf
Muhammadyusuf

🌍 💻
Paweł
Paweł

🌍 💻

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden