Pakete, Repositories und App-Kategorien suchen

Paketdetailsv5.0.0

relative_time

Drückt ein DateTime-Objekt relativ zur aktuellen Zeit in Textform aus.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
8230
Likes
22
Pub-Punkte
160

Paket installieren

flutter pub add relative_time

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das relative_time-Paket konvertiert ein DateTime-Objekt in eine menschenlesbare Zeichenkette, die die Zeit relativ zum aktuellen Moment ausdrückt. Zum Beispiel kann es „vor 2 Minuten“ oder „in 3 Stunden“ anzeigen, anstatt rohe Zeitstempel. Es unterstützt mehrere Sprachen und ist für Einfachheit und Leistung auf allen Hauptplattformen wie Android, iOS, Web, macOS, Windows und Linux ausgelegt. Ideal für Apps, die dynamische, benutzerfreundliche Zeitanzeigen in Feeds, Benachrichtigungen oder Chat-Schnittstellen benötigen.

Anwendungsfälle

  • Anzeige der Zeit seit Veröffentlichung eines Beitrags
  • Zählungen oder Erinnerungen anzeigen
  • Verbesserung von Chat-Nachrichten-Stempeln
  • Aktualisierung von Echtzeit-Aktivitätsindikatoren
  • Verbesserung der Benutzererfahrung in sozialen Medien-Apps

Hauptmerkmale

  • Einfache API mit minimalem Setup
  • Unterstützt Lokalisierung
  • Plattformübergreifende Kompatibilität
  • Automatische Aktualisierungen für Echtzeitgenauigkeit
  • Leichtgewichtig und effizient

Geeignet für

  • Apps mit Echtzeit-Datenfeeds
  • Soziale Netzwerk-Anwendungen
  • Aufgaben- und Erinnerungstools
  • Chat- und Messaging-Plattformen
  • Benutzeroberflächenkomponenten, die dynamische Zeitbeschriftungen erfordern

Hinweise

  • Benötigt manuelle Aktualisierung für Echtzeit-Updates
  • Beschränkt auf die relative Zeitformatierung
  • Keine integrierte Unterstützung für benutzerdefinierte Zeit Einheiten
  • Abhängig von der Genauigkeit der Systemuhr
  • Möglicherweise ist zusätzliche Behandlung für Zeitunterschiede erforderlich

Original-README

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

relative_time

A Flutter package to express a DateTime object relative to the current time in text form. For instance, it may transform DateTimes into 3 years ago, or in 42 minutes, or now.

Features

  • Available in more languages than you can name.
  • Provides localization delegate for easy internationalization.
  • Usable as class instance method call or extension method.
  • Can be expressed in different, customizable time units.
  • Supports numeric and natural representations.

Getting started

The package may optionally retrieve the appropriate localization from the BuildContext. The standard way to setup localization is to make use of a WidgetApp's (such as a MaterialApp) localizationsDelegates and supportedLocales. If you're already using these to localize your app, it should suffice to add RelativeTimeLocalizations.delegate to your list of localizationsDelegates, roughly as follows.

MaterialApp(
  localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
    AppLocalizations.delegate,
    RelativeTimeLocalizations.delegate,
    GlobalMaterialLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
  ],
  supportedLocales: AppLocalizations.supportedLocales,
);

If your app does not make use of (this form of) localization yet but you would like it to, reference the Flutter documentation on internationalization for more information on how to set this up.

Usage

The relative time may be accessed by passing the DateTime source object to format on an instance of RelativeTime with either a BuildContext (if configured for localization) or a specific Locale.

RelativeTime(context).format(time);
RelativeTime.locale(const Locale('en')).format(time);

Alternatively, the provided DateTime extension methods are a bit more concise.

time.relativeTime(context);
time.relativeTimeLocale(const Locale('en'));

You may specify a list of time units that will be considered. This can be any of the following: year, month, week, day, hour, minute and second. By default, all time units are potentially used. The following limits the relative time to being expressed in years and weeks. No judgement here. Because weeks are the most granular time unit specified, anything less than one week would be represented as this week.

RelativeTime(
  context, 
  timeUnits: const <TimeUnit>[
    TimeUnit.year,
    TimeUnit.week,
  ],
).format(time);

By default, results are described using natural language as much as possible. That is, one day in the future will be transformed into tomorrow. If you'd rather see this as in 1 day, set the numeric parameter to true.

RelativeTime(
  context,
  numeric: true,
).format(time);

Testing

The current time may be mocked with help from the clock package.

withClock(
  Clock.fixed(DateTime.fromMicrosecondsSinceEpoch(0)),
  () => RelativeTime(context).format(time),
);

Additional information

Translations have been extracted from the Unicode CLDR Project. The extraction tool for this purpose is available in the dev folder. Note that due to the automated nature of this process, PRs for language updates will not be considered.

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden