패키지, 저장소 및 앱 카테고리 검색

패키지 상세v5.3.4

moment_dart

다목적 불변 DateTime 하위 클래스입니다. 다양한 로컬라이제이션을 지원하여 DateTime과 Duration을 인간이 읽기 쉬운 형식으로 쉽게 변환할 수 있습니다

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
6.8천
좋아요
86
Pub 점수
160

패키지 설치

flutter pub add moment_dart

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

moment_dart는 Flutter 애플리케이션에서 날짜 및 시간 조작을 쉽게 하기 위해 설계된 다목적이고 불변의 DateTime 서브클래스입니다. 여러 지역화를 지원하여 개발자가 DateTime 및 Duration 객체를 다양한 언어와 지역에 맞춰 인간이 읽기 쉬운 형식으로 변환할 수 있게 해줍니다. 불변성을 중심으로 설계되어 안전하고 예측 가능한 상태 관리를 보장합니다. 이 패키지는 Android, iOS, Web, macOS, Windows, Linux 플랫폼과 원활하게 통합되며, 강력한 날짜 포맷팅 및 지역화 기능을 필요로 하는 크로스플랫폼 앱에 이상적입니다.

사용 사례

  • 다양한 언어에서 날짜 형식 지정
  • 읽기 쉬운 출력으로 시간 차이 계산
  • 현지화된 캘린더 인터페이스 구축
  • 시간대 인식 날짜 작업 처리
  • 동적 시간 ago 문자열 생성
  • UI에서 지속 시간 표시 간소화

주요 기능

  • 불변의 DateTime 대체품
  • 내장된 로컬라이제이션 지원
  • 읽기 쉬운 시간 형식
  • 크로스 플랫폼 호환성
  • 지속 시간에서 문자열로의 변환
  • 체인 가능하고 유연한 API

적합한 대상

  • 국제화된 플러터 앱
  • 시간을 표시해야 하는 앱
  • 캘린더 및 스케줄링 도구
  • 로컬라이제이션 중심 프로젝트
  • Dart에서 moment.js와 유사한 기능을 찾는 개발자

고려 사항

  • 시간대에 주의 깊게 대응해야 합니다
  • 패키지 크기가 약간 증가할 수 있습니다
  • 날짜/시간 서식 사용 사례에 한정
  • 복잡한 날짜 산술에 적합하지 않습니다
  • 외부 로컬라이제이션 데이터에 의존합니다
  • 완전한 i18n 지원을 위해 intl 패키지와 함께 사용하는 것이 가장 좋습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

moment_dart

pub package License: MIT All Contributors

Inspired by moment.js

References

📖 Read documentation
🆕 Migrate to 5.x.x

Usage

Creating instance

There are multiple ways to create an instance.

// From DateTime
final a = DateTime.now().toMoment();

final b = Moment(DateTime(...));

// This instance won't be affected by global localization!
final c = Moment(b, localization: MomentLocalizations.koKr());
Setting global localization

By default, the global localization is en_US.

Moment.setGlobalLocalization(MomentLocalizations.fr());
Relative Duration

Relative durations are rather inprecise. See precise duration for accuracy and flexibility.

Read about thresholds, and more on docs

final yesterday = Moment.now() - const Duration(days: 1);
yesterday.fromNow(); // a day ago

final add5sec = Moment.now().add(const Duration(seconds: 5));
add5sec.fromNow(dropPrefixOrSuffix: true); // a few seconds
Precise duration

You can create localized human-readable duration text with abbreviation, highly-customizable units.

See more on docs. (delimiter, custom units, abbreviation...)

On Duration objects:

Duration(days: 67, hours: 3, minutes: 2).toDurationString(
  localization: MomentLocalizations.de(),
  form: Abbreviation.semi,
); // in 2 Mo. 7 Tg.

For Moment:

final epoch = Moment.fromMillisecondsSinceEpoch(0);
final now = DateTime(2023, DateTime.july, 14).toMoment();

print(epoch.fromPrecise(now)); // 53 years 7 months ago
Calendar
final Moment now = Moment.now();

print(now.calendar()); // Today at 03:00 PM
Other helpful methods

moment_dart provides numerous convenience methods. Works on both Moment and DateTime.

See all available options in the docs

final now = DateTime.now(); // July 19 2023 03:12 PM (UTC+8)

// ISO week, ISO week year
now.week; // 48
now.weekYear; // 2023

now.isLeapYear; // false

// Date creates new `DateTime` with hours, minutes, etc.. omitted
now.date; // July 19 2023 00:00 AM

now.clone(); // July 19 2023 03:12 PM

now.nextTuesday(); // July 25 2023 03:12 PM

// and many more!

Contributing

Contributions of any kind are welcome! Please refer to CONTRIBUTE.md

Contributors

Батмэнд Ганбаатар
Батмэнд Ганбаатар

💻 🚧 🌍 📖
Ultrate
Ultrate

💻 🌍
Muhammadyusuf
Muhammadyusuf

🌍 💻
Paweł
Paweł

🌍 💻

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트