我有一个包,您可以轻松地使用它来创建时钟。问题是,文档并没有很好地呈现。这是下面的代码,如何编辑代码以便时钟显示不同位置的日期。例如我想创建两个时钟。一个用于 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),
);
据我了解,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,
);
您可以通过使用 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,
),
您可以在此处
找到时区的位置名称