andresaraujo/timeago.dart
A library useful for creating fuzzy timestamps. (e.g. "5 minutes ago")
baixar do githubtimeago
timeago
is a dart library that converts a date into a humanized text. Instead of showing a date 2020-12-12 18:30
with timeago
you can display something like "now", "an hour ago", "~1y", etc
timeago | core library | |
---|---|---|
timeago_flutter | flutter widgets |
The easiest way to use this library via top-level function format(date)
:
import 'package:timeago/timeago.dart' as timeago;
main() {
final fifteenAgo = DateTime.now().subtract(Duration(minutes: 15));
print(timeago.format(fifteenAgo)); // 15 minutes ago
print(timeago.format(fifteenAgo, locale: 'en_short')); // 15m
print(timeago.format(fifteenAgo, locale: 'es')); // hace 15 minutos
}
IMPORTANT
timeago library ONLY includes en
and es
messages loaded by default.
To add more of the supported languages use timeago.setLocaleMessages(..)
. See locale messages.
Standard for language code
This library uses ISO 639-1 language code to identify the language. For more information see ISO 639-1.
Adding locales
timeago.setLocaleMessages('fr', timeago.FrMessages()); // Add french messages
print(timeago.format(fifteenAgo, locale: 'es')); // environ 15 minutes
Overriding locales or adding custom messages
// Override "en" locale messages with custom messages that are more precise and short
timeago.setLocaleMessages('en', MyCustomMessages());
// my_custom_messages.dart
class MyCustomMessages implements LookupMessages {
@override String prefixAgo() => '';
@override String prefixFromNow() => '';
@override String suffixAgo() => '';
@override String suffixFromNow() => '';
@override String lessThanOneMinute(int seconds) => 'now';
@override String aboutAMinute(int minutes) => '${minutes}m';
@override String minutes(int minutes) => '${minutes}m';
@override String aboutAnHour(int minutes) => '${minutes}m';
@override String hours(int hours) => '${hours}h';
@override String aDay(int hours) => '${hours}h';
@override String days(int days) => '${days}d';
@override String aboutAMonth(int days) => '${days}d';
@override String months(int months) => '${months}mo';
@override String aboutAYear(int year) => '${year}y';
@override String years(int years) => '${years}y';
@override String wordSeparator() => ' ';
}
Scope
While there are many request for adding more complex functionality I want keep this library as simple as possible to allow minimal maintenance.
The focus of this library should be
- Provide a single
format
function that transforms adate
to a humanized value - Give the abstractions for users to add their own languages or overriding them as they please
- Provide languages contributed by the community so users can add them as they need we should not add all languages by default.
- Library should not depend on any dependency
timeago_flutter widgets
- Timeago
- TimerRefresh
- TimerRefreshWidget
Local development
- Install Melos (https://pub.dev/packages/melos):
dart pub global activate melos
- Bootstrap dependencies:
melos bootstrap
- Open desired package in VSCode or Webstorm
Live Demo
![](/images/banner-woo.jpg)
recomendações de excelentes projetos relacionados a andresaraujo/timeago.dart para download
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。
provider
5029
InheritedWidgets, but simple
Obtainium
4790
Get Android App Updates Directly From the Source.