Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.7.1

timeago

Uma biblioteca útil para criar timestamps difusos. (por exemplo: "há 15 minutos")

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
758 mil
Curtidas
2 mil
Pontos Pub
160

Instalar pacote

flutter pub add timeago

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote timeago fornece uma maneira simples de gerar timestamps humanos e aproximados, como 'há 15 minutos' ou 'há 2 dias'. É ideal para exibir o tempo relativo em aplicativos, melhorando a experiência do usuário ao tornar o tempo mais intuitivo. A biblioteca suporta múltiplos idiomas e é compatível com todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Integra-se perfeitamente aos projetos Flutter por meio de uma API simples.

Casos de uso

  • Exibindo marcas de tempo de postagens em aplicativos de mídia social
  • Mostrando tempos de atividade em interfaces de bate-papo
  • Melhorando a experiência do usuário com rótulos de tempo legíveis
  • Rastrear durações de eventos em painéis
  • Sincronizando atualizações em tempo real com tempo relativo
  • Atualizando a IU dinamicamente com as diferenças de tempo atuais

Principais recursos

  • Suporte a múltiplos idiomas
  • Integração fácil com o Flutter
  • Compatibilidade multiplataforma
  • Opções de formatação personalizáveis
  • Atualizações automáticas de tempo
  • Leve e eficiente

Indicado para

  • Aplicativos de redes sociais
  • Aplicativos de mensagens em tempo real
  • Widgets do painel
  • sistemas de rastreamento de atividade do usuário
  • Qualquer aplicativo que precise de timestamps legíveis por humanos

Considerações

  • Requer manipulação manual das diferenças de fuso horário
  • Pode ser necessário configurar a localização para idiomas não ingleses
  • Não suporta formatação de data absoluta
  • Limitado a exibição de tempo relativo
  • Não adequado para armazenamento de carimbo de hora preciso

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

timeago

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 pub package core library
timeago_flutter pub package 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

  1. Provide a single format function that transforms a date to a humanized value
  2. Give the abstractions for users to add their own languages or overriding them as they please
  3. Provide languages contributed by the community so users can add them as they need we should not add all languages by default.
  4. Library should not depend on any dependency

timeago_flutter widgets

  • Timeago
  • TimerRefresh
  • TimerRefreshWidget

Local development

  1. Install Melos (https://pub.dev/packages/melos):

dart pub global activate melos

  1. Bootstrap dependencies:

melos bootstrap

  1. Open desired package in VSCode or Webstorm

Live Demo

Here

Categorias

Dependências

Lista de dependências 1 itens

  • intl>=0.18.0 <0.21.0

Repositório-fonte

Projetos que usam este pacote

Rankings