time_machine 0.9.3 copy "time_machine: ^0.9.3" to clipboard
time_machine: ^0.9.3 copied to clipboard

outdated

Date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.

example/example.dart

// Copyright 2018 The Time Machine Authors. All rights reserved.
// Use of this source code is governed by the Apache License 2.0, as found in the LICENSE.txt file.

import 'dart:async';

import 'package:time_machine/time_machine.dart';
import 'package:time_machine/time_machine_text_patterns.dart';

Future main() async {
  try {
    // Sets up timezone and culture information
    await TimeMachine.initialize();
    print('Hello, ${DateTimeZone.local} from the Dart Time Machine!\n');

    var tzdb = await DateTimeZoneProviders.tzdb;
    var paris = await tzdb["Europe/Paris"];

    var now = Instant.now();

    print('Basic');
    print('UTC Time: $now');
    print('Local Time: ${now.inLocalZone()}');
    print('Paris Time: ${now.inZone(paris)}\n');

    print('Formatted');
    print('UTC Time: ${now.toString('dddd yyyy-MM-dd HH:mm')}');
    print('Local Time: ${now.inLocalZone().toString('dddd yyyy-MM-dd HH:mm')}\n');

    var french = await Cultures.getCulture('fr-FR');
    print('Formatted and French ($french)');
    print('UTC Time: ${now.toString('dddd yyyy-MM-dd HH:mm', french)}');
    print('Local Time: ${now.inLocalZone().toString('dddd yyyy-MM-dd HH:mm', french)}\n');

    print('Parse French Formatted ZonedDateTime');

    // without the 'z' parsing will be forced to interpret the timezone as UTC
    var localText = now
        .inLocalZone()
        .toString('dddd yyyy-MM-dd HH:mm z', french);

    var localClone = ZonedDateTimePattern
        .createWithCulture('dddd yyyy-MM-dd HH:mm z', french)
        .parse(localText);

    print(localClone.value);

    var seconds = (Instant.now() + Time(days: 5, hours: 4, minutes: 3, seconds: 2)).epochSeconds;
    var futureInstant = Instant.fromEpochSeconds(seconds);
    var difference = Instant.now().timeUntil(futureInstant);
    print(difference); // 5:04:03:02
    print(difference.inDays); // 5
    print(difference.hoursOfDay); // 4
    print(difference.minutesOfHour); // 3
    print(difference.secondsOfMinute); // 2
  }
  catch (error, stack) {
    print(error);
    print(stack);
  }
}
150
likes
0
points
11.9k
downloads

Publisher

unverified uploader

Weekly Downloads

Date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

collection, meta, quiver_hashcode, resource

More

Packages that depend on time_machine