Search packages, repositories and app categories

GitHub repositoryrinukkusu/simple_moment

simple_moment

A simple implementation of the Moment.js features for relative time in Dart

simple_moment project cover
Stars
48
Forks
26
Last push (UTC)
Apr 26, 2023
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

simple_moment Pub Build Status

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.

Max Riegler GitHub avatar
GitHub author

Max Riegler ↗

Does C#, Dart, TypeScript and more 🚀

@GuidNewGraz, Austria
LanguagesDart

Packages published by this repository

Dependencies used

Dependency list 2 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗