Rigid Datetime

A lightweight Flutter plugin for detecting the device's native system time format (12-hour or 24-hour) using platform-specific APIs.

Features

  • Detects the device's preferred time format (12-hour or 24-hour)
  • Native Android implementation using Kotlin
  • Native iOS implementation using Swift
  • Simple and easy-to-use Flutter API
  • MethodChannel-based communication
  • Lightweight and easy to integrate

Platform Support

Platform Status
Android Supported
iOS Supported

Installation

Add the dependency to your pubspec.yaml.

dependencies:
  rigid_datetime: ^1.0.0

Then run:

flutter pub get

Usage

Import the package.

import 'package:rigid_datetime/rigid_datetime.dart';

Detect System Time Format

final bool is24Hour = await RigidDatetime().getTimeFormat();

if (is24Hour) {
print("24 Hour Format");
} else {
print("12 Hour Format");
}

API

Method Return Type Description
getTimeFormat() Future<bool> Returns true when the device uses a 24-hour clock and false when it uses a 12-hour clock.

How It Works

The plugin communicates with the native platform using Flutter's MethodChannel to retrieve the device's preferred time format.

On Android, it uses:

DateFormat.is24HourFormat(context)

to determine whether the device is configured to use a 24-hour clock.


Requirements

  • Flutter 3.0.0 or later
  • Dart 3.0.0 or later
  • Android API 21 or later
  • iOS 12.0 or later

Contributing

Contributions, feature requests, and bug reports are welcome. If you have an idea or find an issue, please open an issue or submit a pull request.


License

This project is licensed under the MIT License.