You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter初始化timezone包时出现dart:html相关报错如何解决

问题原因

你当前开发的是移动端Flutter应用,引入了仅支持Web端的timezone/browser.dart库,该库依赖Flutter移动端不支持的dart:html,因此触发编译报错。

解决步骤

  1. 删除错误导入语句
    删掉代码中的这一行:
import 'package:timezone/browser.dart' as ts;
  1. 替换时区相关调用逻辑
    你已经引入了适配非Web端的时区相关依赖,直接使用tz别名下的初始化方法,以及timezone库下的原生方法即可,修改第一个按钮的点击逻辑为:
onPressed: () {
  tz.initializeTimeZones();
  var detroit = getLocation('America/Detroit');
  print(detroit);
  var now = TZDateTime.now(detroit);
  print(now);
},
  1. 可选优化
    建议将时区初始化操作放到initState生命周期中执行,避免每次点击按钮重复初始化:
@override
void initState() {
  super.initState();
  tz.initializeTimeZones();
}

内容的提问来源于stack exchange,提问作者Bashar Dali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:39:04