Last updated:
0 purchases
moment dart
moment_dart #
Inspired by moment.js
References #
π Read documentation #
π Migrate to 1.0.0 #
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());
copied to clipboard
Setting global localization #
By default, the global localization is en_US.
Moment.setGlobalLocalization(MomentLocalizations.fr());
copied to clipboard
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
copied to clipboard
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.
copied to clipboard
For Moment:
final epoch = Moment.fromMillisecondsSinceEpoch(0);
final now = DateTime(2023, DateTime.july, 14).toMoment();
print(epoch.fromPrecise(now)); // 53 years 7 months ago
copied to clipboard
Calendar #
final Moment now = Moment.now();
print(now.calendar()); // Today at 03:00 PM
copied to clipboard
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!
copied to clipboard
Migrate to 1.0.0 #
Instead of MomentLocalizations.ko(), use MomentLocalizations.koKr()
Replace UnitStringForm with:
UnitStringForm.short => Abbreviation.full
UnitStringForm.mid => Abbreviation.semi
UnitStringForm.full => Abbreviation.none
In Moment().calendar() calls: remove weekStart argument
DateTimeConstructors.withTimezone: move isUtc argument to first position
Replace deprecated methods
Contributing #
Contributions of any kind are welcome! Please refer to CONTRIBUTE.md
Contributors #
ΠΠ°ΡΠΌΡΠ½Π΄ ΠΠ°Π½Π±Π°Π°ΡΠ°Ρπ» π§ π π
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.