sync_datetime 0.1.6 copy "sync_datetime: ^0.1.6" to clipboard
sync_datetime: ^0.1.6 copied to clipboard

Dart & Flutter DateTime utilities for UTC timezone conversion, ISO 8601 parsing, client-server synchronization, REST API timestamps, date calculations, and calendar math.

example/sync_datetime_example.dart

import 'package:sync_datetime/sync_datetime.dart';

void main() {
  print('=== 1. Core Synchronization APIs ===');
  final localNow = DateTime.now();
  final utcNow = SyncDateTime.toUtc(localNow);
  print('Local Time:                 $localNow');
  print('UTC Time:                   $utcNow');

  final localBack = SyncDateTime.fromUtc(utcNow);
  print('Local Time (converted):     $localBack');

  final serverString = SyncDateTime.toServer(localNow);
  print('Server Payload string:      $serverString');

  final parsedLocal = SyncDateTime.fromServer('2026-08-02T12:00:00');
  print('Parsed Local (assumed UTC): $parsedLocal');

  final dateOnly = DateTime(2026, 8, 3);
  final timeOnly = DateTime(2020, 1, 1, 14, 30, 0);
  final combined = SyncDateTime.combine(dateOnly, timeOnly);
  print('Combined Local:             $combined');

  print('\n=== 2. New Core Utilities ===');
  final today = SyncDateTime.today();
  final todayUtc = SyncDateTime.todayUtc();
  print('Today Local:                $today');
  print('Today UTC:                  $todayUtc');

  final start = SyncDateTime.startOfDay(localNow);
  final end = SyncDateTime.endOfDay(localNow);
  print('Start of Day:               $start');
  print('End of Day:                 $end');

  final dateStr = SyncDateTime.stripDate(localNow);
  final timeStr = SyncDateTime.stripTime(localNow);
  print('Date components string:     $dateStr');
  print('Time components string:     $timeStr');

  final updated = SyncDateTime.copyWith(localNow, year: 2030, month: 12);
  print('CopyWith 2030-12:           $updated');

  print('\n=== 3. Comparison Utilities ===');
  final tomorrow = localNow.add(const Duration(days: 1));
  print(
    'Is Same Day tomorrow?       ${SyncDateTime.isSameDay(localNow, tomorrow)}',
  );
  print(
    'Is Same Month tomorrow?     ${SyncDateTime.isSameMonth(localNow, tomorrow)}',
  );
  print('Days in Month:              ${SyncDateTime.daysInMonth(localNow)}');
  print('Is Leap Year (2024)?        ${SyncDateTime.isLeapYear(2024)}');

  print('\n=== 4. Difference Helpers ===');
  final pastDate = DateTime(2024, 8, 3);
  final diffYears = SyncDateTime.differenceInYears(pastDate, today);
  final diffDays = SyncDateTime.differenceInDays(pastDate, today);
  print('Years between $pastDate and today: $diffYears');
  print('Days between $pastDate and today:  $diffDays');

  print('\n=== 5. Server Sync Helpers ===');
  final rawTimestamp = '2026-08-02T12:00:00.000+02:00';
  final normalized = SyncDateTime.normalizeServerTimestamp(rawTimestamp);
  print('Normalized $rawTimestamp -> $normalized');
}
1
likes
0
points
391
downloads

Publisher

unverified uploader

Weekly Downloads

Dart & Flutter DateTime utilities for UTC timezone conversion, ISO 8601 parsing, client-server synchronization, REST API timestamps, date calculations, and calendar math.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on sync_datetime