Flutter 判断时间格式

218 阅读1分钟

Dart可以通过正则表达式来判断时间格式是否合法。下面是一个使用正则表达式判断时间格式的示例代码:

bool isTimeValid(String timeString) {
  // 定义时间正则表达式
  RegExp timeRegex = RegExp(
    r"^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$",
    caseSensitive: false,
    multiLine: false,
  );
  return timeRegex.hasMatch(timeString);
}

void main() {
  // 测试用例
  print(isTimeValid("08:30:00"));    // true
  print(isTimeValid("23:59:59"));    // true
  print(isTimeValid("24:00:00"));    // false
  print(isTimeValid("08:30"));       // false
  print(isTimeValid("8:30:00"));     // false
}

该代码使用正则表达式来判断时间格式是否为“小时:分钟:秒”的格式。如果时间格式正确,则返回 true,否则返回 false。


以下是一个使用正则表达式来判断时间格式是否为“年-月-日 小时:分钟:秒”的示例代码:

bool isDateTimeValid(String dateTimeString) {
  // 定义正则表达式
  RegExp dateTimeRegex = RegExp(
    r"^\d{4}-\d{2}-\d{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$",
    caseSensitive: false,
    multiLine: false,
  );
  return dateTimeRegex.hasMatch(dateTimeString);
}

void main() {
  // 测试用例
  print(isDateTimeValid("2021-10-10 08:30:00"));    // true
  print(isDateTimeValid("2022-01-01 23:59:59"));    // true
  print(isDateTimeValid("2021/10/10 08:30:00"));    // false
  print(isDateTimeValid("2021-10-10 8:30:00"));     // false
  print(isDateTimeValid("2021-10-10 08:30"));       // false
}

该代码使用正则表达式来判断给定的时间字符串是否为“年-月-日 小时:分钟:秒”的格式。如果时间格式正确,则返回 true,否则返回 false。

需要注意的是,该代码只能判断时间格式是否正确,不能判断时间是否合法。例如,2021-02-30 08:30:00 是一个合法的时间格式,但是该时间并不存在。

使用正则表达式来判断时间格式是否为“年-月-日 小时:分钟:秒”的格式