首页 > 解决方案 > Flutter:将字符串转换为日期并将日期转换为整数

问题描述

我有一个来自格式为“2020-05-19”的 JSON 的日期。我需要将其转换为 DateTime 变量,以便将其格式化回字符串以进行显示,但我还需要使用 DateTime 值并向其添加 x 天数。所以我还需要能够将其转换为整数,以便我可以添加 (x_days * 86400000)。

谁能告诉我该怎么做,或者有没有更好的方法来做我想做的事情?

干杯,

保罗

标签: flutter

解决方案


要将字符串转换为日期,您可以使用 DateTime 的parseStrict方法:

String dateStr = "2020-05-19";
DateTime date = DateFormat("yyyy-MM-dd", 'en').parseStrict(dateStr);

您还可以创建一个辅助方法:

static DateTime convertToDate(String input, String format) {
  try {
    final DateTime d = DateFormat(format, 'en').parseStrict(input);
    return d;
  } catch (e) {
    return null;
  }
}

然后像这样使用它:

DateTime date = convertToDate("2020-05-19", "yyyy-MM-dd");

我使用了“en”语言环境,但您可以根据需要更改它或将其作为参数传递。

对于更松散的解析,请使用parse


然后使用 DateTime 的add方法添加天数,例如添加 2 天:

date.add(Duration(days: 2));

推荐阅读