如何在flutter中获取模拟时钟的UTC时间

问题描述 投票:0回答:3

我有一个包,您可以轻松地使用它来创建时钟。问题是,文档并没有很好地呈现。这是下面的代码,如何编辑代码以便时钟显示不同位置的日期。例如我想创建两个时钟。一个用于 UTC -5,另一个用于 UTC +1。我不需要手机当前位置的日期

import 'package:analog_clock/analog_clock.dart';


AnalogClock(
    decoration: BoxDecoration(
        border: Border.all(width: 2.0, color: Colors.black),
        color: Colors.transparent,
        shape: BoxShape.circle),
    width: 150.0,
    isLive: true,
    hourHandColor: Colors.black,
    minuteHandColor: Colors.black,
    showSecondHand: false,
    numberColor: Colors.black87,
    showNumbers: true,
    textScaleFactor: 1.4,
    showTicks: false,
    showDigitalClock: false,
    datetime: DateTime(2019, 1, 1, 9, 12, 15),
    );
flutter dart flutter-layout flutter-dependencies dart-pub
3个回答
0
投票

我还没有尝试过这个包,但我想你可以尝试一下

datetime
属性。

Flutter 中的

DateTime
有一些有用的帮助程序可以将其与 UTC 相互转换,您可以阅读这篇文章


0
投票

据我了解,analog_clock 插件仅接受 DateTime。所以无论哪个区域我们都必须通过。所以我们只需要适应 UTC。 我猜这对你有用。

import 'package:analog_clock/analog_clock.dart';

DateTime dateTime = DateTime.now().add(Duration(hours: -5, minutes: 00)).toUtc();
AnalogClock(
    decoration: BoxDecoration(
        border: Border.all(width: 2.0, color: Colors.black),
        color: Colors.transparent,
        shape: BoxShape.circle),
    width: 150.0,
    isLive: true,
    hourHandColor: Colors.black,
    minuteHandColor: Colors.black,
    showSecondHand: false,
    numberColor: Colors.black87,
    showNumbers: true,
    textScaleFactor: 1.4,
    showTicks: false,
    showDigitalClock: false,
    datetime: dateTime,
    );

0
投票

您可以通过使用 animated_analog_clock 包来实现此目的,该包允许您指定位置名称,时钟将根据与该位置关联的时区显示时间。

例如:

AnimatedAnalogClock(
      location: 'Australia/Darwin',
      size: 200,
      backgroundColor: Color(0xff1E1E26),
      hourHandColor: Colors.lightBlueAccent,
      minuteHandColor: Colors.lightBlueAccent,
      secondHandColor: Colors.amber,
      centerDotColor: Colors.amber,
      hourDashColor: Colors.lightBlue,
      minuteDashColor: Colors.blueAccent,
      dialType: DialType.numbers,
      numberColor: Colors.blueAccent,
      extendHourHand: true,
      extendMinuteHand: true,
    ),

您可以在此处

找到时区的位置名称
© www.soinside.com 2019 - 2024. All rights reserved.