PackageTrack
Sign in Get early access

system_date_time_format

A plugin for getting date and time format patterns from device system settings.

1.5.1 18K downloads/mo #2281 most downloaded on pub.dev Nikoro/system_date_time_format

What this package is like to depend on

Last release 18 days ago

05 Aug 2026

Release timing varies

gaps range from 8 days to 11 months

Nearly every release is documented

notes for 24 of 24 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

24 releases · first in 2023

5 releases in the last 12 months

see the full history below

Release timeline

24 releases · Feb 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 24
  1. 1.5.1 05 Aug 2026
    Release notes

    Fixed

    • Fixed SDTFScope throwing an unhandled exception when it was disposed while a pending date/time format request was still in flight.
    Open source →
  2. 1.5.0 27 May 2026
    Release notes

    Added

    • Migrated platform build configurations to current Flutter tooling.
    Open source →
  3. 1.4.0 05 Jan 2026
    Release notes
    • Added Swift Package Manager support for iOS and macOS platforms
    Open source →
    Release notes
    • Added Swift Package Manager support for iOS and macOS platforms
    Open source →
  4. 1.3.1 05 Jan 2026
    Release notes

    Changed

    • Updated documentation to recommend using local web asset instead of CDN from v1.3.1+
    • Added web asset to pubspec.yaml for better offline support
    • Updated example projects to use local web asset
    • Excluded example directories from analyzer
    Open source →
    Release notes
    • Updated documentation to recommend using local web asset instead of CDN from v1.3.1+
    • Added web asset to pubspec.yaml for better offline support
    • Updated example projects to use local web asset
    • Excluded example directories from analyzer
    Open source →
  5. 1.3.0 24 Nov 2025
    Release notes

    🚀 Release 1.3.0

    ⚠️ Breaking Changes

    • Updated minimum Dart SDK to 3.2.0 (from 2.18.6)
    • Updated minimum Flutter SDK to 3.16.0 (from 2.5.0)

    ✨ What's New

    Dependency Updates

    • Removed js_interop package dependency - now using built-in dart:js_interop from Dart SDK
    • Updated flutter_lints to 6.0.0

    Bug Fixes

    • Web: Fixed hour pattern formatting to properly handle both single (h/H) and double-digit (hh/HH) formats
    • Windows & Linux: Fixed AM/PM pattern conversion from 'tt' to 'a' for proper time formatting
    • Improved type checking with strict equality operators

    Example Apps

    • Regenerated all platform folders (Android, iOS, macOS, Linux, Windows, Web) with latest Flutter templates
    • Updated Android to use Kotlin DSL build files (.gradle.kts)
    • Updated iOS/macOS Podfiles to latest syntax
    • Modernized Linux CMake structure with runner subfolder
    • Updated Windows CMake and runner configuration

    📝 Full Changelog

    All commits since v1.2.2:

    • fix(web): correct hour pattern formatting in date time format
    • fix(windows,linux): convert AM/PM pattern from 'tt' to 'a'
    • chore: remove js_interop dependency and update SDK constraints
    • chore: bump version to 1.3.0
    • build(example): regenerate platform folders with latest Flutter templates

    👥 Contributors

    Thanks to @jacksoncurrie for #26

    Note: If you're upgrading from 1.2.2, ensure your project meets the new minimum SDK requirements (Dart ≥3.2.0, Flutter ≥3.16.0).

    Open source →
    Release notes
    • BREAKING: Updated minimum Dart SDK to 3.2.0 (from 2.18.6) and Flutter SDK to 3.16.0 (from 2.5.0)
    • Removed js_interop package dependency (now using built-in dart:js_interop)
    • Fixed AM/PM pattern conversion from 'tt' to 'a' on Windows and Linux platforms
    • Fixed hour pattern formatting on web platform
    Open source →
  6. 1.2.2 22 Dec 2024
    Release notes
    • Added WASM compatibility
    • Update dependencies
    Open source →
  7. 1.2.1 27 Mar 2024
    Release notes
    • Fix bug on android:

    A problem occurred configuring project ':system_date_time_format'. Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl. Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

    • Update dependencies
    Open source →
  8. 1.2.0 14 Feb 2024
    Release notes

    Added full date pattern for android

    Open source →
  9. 1.1.2 14 Feb 2024
    Release notes
    Open source →
  10. 1.1.1 13 Feb 2024
    Release notes

    Refactor deprecated methods in tests

    Open source →
  11. 1.1.0 13 Feb 2024
    Release notes
    • Added full date pattern (only available for iOS, macOS and web)
    • Fix returning empty string "" instead of null on windows & linux when pattern is unavailable
    Open source →
  12. 1.0.0 05 Feb 2024
    Release notes

    BREAKING CHANGES:

    Removed initialize method -> use SDTFScope instead

    Removed dateFormat getter -> use getDatePattern() instead

    Removed mediumDateFormat getter -> use getMediumDatePattern() instead

    Removed longDateFormat getter -> use getLongDatePattern() instead

    Removed timeFormat getter -> use getTimePattern() instead

    Open source →
  13. 0.7.2 04 Feb 2024
    Release notes

    Updated the SDK constraint to '>=2.18.6 <4.0.0'

    Open source →
  14. 0.7.1 04 Feb 2024
    Release notes
    • Fixed attachments in README
    • Fixed typos
    • Updated dependencies
    Open source →
  15. 0.7.0 15 Apr 2023
    Release notes

    Added logo

    Open source →
  16. 0.6.1 12 Apr 2023
    Release notes

    Fixed deprecated usage in comments

    Open source →
  17. 0.6.0 11 Apr 2023
    Release notes
    • Introduced SDTFScope widget:
    void main() {
      runApp(const SDTFScope(child: App()));
    }
    
    class App extends StatelessWidget {
    
      @override
      Widget build(BuildContext context) {
        final patterns = SystemDateTimeFormat.of(context);
    
        final datePattern = patterns.datePattern;
        final mediumDatePattern = patterns.mediumDatePattern;
        final longDatePattern = patterns.longDatePattern;
        final timePattern = patterns.timePattern;
    
        print(datePattern); // e.g. "M/d/yy"
        print(mediumDatePattern); // e.g. "MMM d,y"
        print(longDatePattern); // e.g. "MMMM d,y"
        print(timePattern); // e.g. "HH:mm"
      }
    }
    
    • Introduced raw async getters:
    final format = SystemDateTimeFormat();
    
    final datePattern = await format.getDatePattern();
    final mediumDatePattern = await format.getMediumDatePattern();
    final longDatePattern = await format.getLongDatePattern();
    final timePattern = await format.getTimePattern();
    
    print(datePattern); // e.g. "M/d/yy"
    print(mediumDatePattern); // e.g. "MMM d,y"
    print(longDatePattern); // e.g. "MMMM d,y"
    print(timePattern); // e.g. "HH:mm"
    

    Warning

    Deprecated initialize method -> use SDTFScope instead

    Deprecated dateFormat getter -> use getDatePattern() instead

    Deprecated mediumDateFormat getter -> use getMediumDatePattern() instead

    Deprecated longDateFormat getter -> use getLongDatePattern() instead

    Deprecated timeFormat getter -> use getTimePattern() instead

    Open source →
  18. 0.5.0 29 Mar 2023
    Release notes

    Added linux support

    Open source →
  19. 0.4.1 15 Mar 2023
    Release notes
    • Fixed library names conflict
    • Improved documentation
    Open source →
  20. 0.4.0 15 Mar 2023
    Release notes

    Added web support

    Open source →
  21. 0.3.0 05 Mar 2023
    Release notes

    Added windows support

    Open source →
  22. 0.2.0 27 Feb 2023
    Release notes

    Added macOS support

    Open source →
  23. 0.1.1 26 Feb 2023
    Release notes
    Open source →
  24. 0.1.0 13 Feb 2023
    Release notes

    Initial release 🎉

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive