覆盖Dart的本地时区

9
达特语言的DateTime仅支持协调世界时(UTC)和“本地”时间。在运行测试时,除了更改运行测试的计算机的时区(或者用一个具有时区意识的库替换DateTime),是否有一种指定本地时区的方法?例如,Java的user.timezone系统属性。

类似这样的东西吗?https://pub.dev/packages/timezone - julemand101
1
谢谢,我知道时区(和time_machine)包...我正在寻找一种测试使用内置的DateTime类的代码的方法。 - ejain
1个回答

0

我认为clock包会很有用。

withClock()中运行你的测试。

test('clock', () {
  withClock(Clock.fixed(DateTime.parse('2002-02-27T14:00:00-0500'), () {
    // your test here

  });
});

1
我不清楚如何使用这个代码片段来覆盖我的代码中的.toLocal()行为。我的代码使用了DateTime.toLocal,因此我不确定如上所建议的clock.now可以做什么。 - venir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接