simple_moment 1.1.1 simple_moment: ^1.1.1 copied to clipboard
A simple implementation of the Moment.js features for relative time.
simple_moment #
A simple implementation of the Moment.js features for relative time in Dart.
Usage #
A simple usage example:
import 'package:simple_moment/simple_moment.dart';
main() {
var secondsToAdd = Duration(seconds: 10);
var dateForComparison = DateTime.now().add(secondsToAdd);
var moment = Moment.now();
// should print "in a few seconds"
print(moment.from(dateForComparison));
Moment rawDate = Moment.parse("2020-07-03");
// should print "2020-08-03 00:00:00.000
print(rawDate.add(months: 1));
// should print "2019-07-03 00:00:00.000
print(rawDate.subtract(years: 1));
//should print "03-07-2020 00:00"
print(rawDate.format("dd-MM-yyyy HH:mm"));
}
Locales #
Set the locale for all usages of Moment
: #
Moment.setLocaleGlobally(new LocaleDe());
Set the locale only for the current instance of Moment
: #
var moment = new Moment.now().locale(new LocaleDe());
Adding your own locale: #
Just create a class that implements ILocaleData
and assign that to your Moment
instance or set it globally.
Overwriting existing locales: #
class ShortLocaleEn extends LocaleEn {
String get seconds => '%is';
String get aMinute => '%im';
String get minutes => '%im';
String get anHour => '%ih';
String get hours => '%ih';
String get aDay => '%id';
String get days => '%id';
}
Using intl
to format dates #
// create new Moment instance with german locale
var moment = Moment.now().locale(LocaleDe(), useInFormat: true);
// initialize intl
await initializeDateFormatting(moment.usedLocale.localeString);
// format and print the current month in german
var formattedString = moment.format("LLLL");
print(formattedString);
Features and bugs #
Please file feature requests and bugs at the issue tracker.