system_date_time_format 0.1.0 copy "system_date_time_format: ^0.1.0" to clipboard
system_date_time_format: ^0.1.0 copied to clipboard

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

SystemDateTimeFormat #

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

Pub Package Build Status Code Coverage MIT License


iOS (Region: United States πŸ‡ΊπŸ‡Έ) Result
ios_setup ios_result
Android (Region: United Kingdom πŸ‡¬πŸ‡§) Result
android_setup android_result

Usage #

Import import 'package:system_date_time_format/system_date_time_format.dart';,
initialize SystemDateTimeFormat and use getters to get date & time formats from device system.

Example:

import 'package:system_date_time_format/system_date_time_format.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemDateTimeFormat().initialize();
  runApp(const App());
}

Note

Don't forget to call initialize() before accessing any getters:

dateFormat, mediumDateFormat, longDateFormat, timeFormat

otherwise it will throw NotInitializedError.

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    // SystemDateTimeFormat() is a Singleton
    final dateFormat = SystemDateTimeFormat().dateFormat;
    final timeFormat = SystemDateTimeFormat().timeFormat;

    print(dateFormat); // e.g. "M/d/yy"
    print(timeFormat); // e.g. "HH:mm"

    return const MaterialApp(
      home: Scaffold(),
    );
  }
}

Fallbacks #

In case of some error, e.g. PlatformException plugin will return fallback values .
You can setup your own values by passing them in the initialize():

SystemDateTimeFormat().initialize(
  dateFormatFallback: // default: 'M/d/yy'
  mediumDateFormatFallback: // default: 'MMM d,y'
  longDateFormatFallback: // default: 'MMMM d,y'
  timeFormatFallback: // default: 'h:mm a'
);

Testing #

As the plugin class is not static, it is possible to mock and verify its behaviour when writing tests as part of your application.
Check the source code of example_with_tests which is a modification of basic example
with dependency injection using get_it and mocks thanks to mocktail.

14
likes
0
pub points
91%
popularity

Publisher

verified publisherdominikkrajcer.com

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

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on system_date_time_format