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

Flutter/Dart中如何将输入日期字符串转换为后端要求的ISO格式?

解决方案(Dart/Flutter环境)

你可以按照以下步骤转换格式:

  1. 先将控制器读取到的日期字符串解析为DateTime对象
  2. 构造UTC时区的目标时间,再转换为ISO8601格式字符串

完整代码示例:

// 1. 读取输入的日期字符串
final inputDate = dateControllerJoin.text;
// 2. 解析为DateTime对象
final parsedDateTime = DateTime.parse(inputDate);
// 3. 构造UTC时区的17:00:00时间
final targetUtcTime = DateTime.utc(
  parsedDateTime.year,
  parsedDateTime.month,
  parsedDateTime.day,
  17,
  0,
  0,
);
// 4. 转换为要求的格式(去除毫秒部分)
final submitDate = '${targetUtcTime.toIso8601String().split('.').first}Z';

执行后submitDate的输出结果就是2021-01-01T17:00:00Z,可直接提交给后端。

注意:如果需求不是固定17点,而是需要把输入的当地时间转换为对应UTC时间,可直接调用parsedDateTime.toUtc()再做格式转换即可,不需要手动指定时分秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 06:03:00