mysql - Flutter/Dart 只提取日期和时间?

标签 mysql regex flutter dart

<分区>

在 Dart/Flutter 中,我如何重新格式化、转换或提取此字符串中的日期和时间?该字符串来 self 的 MySQL 数据库中的默认时间戳;

2021-08-11T11:38:09.000Z

所以我需要的是这样的东西;

  2021-08-11 11:38

我在想也许是这样的;

final String? shortime = timestamp?.replaceAll(RegExp(''), '') ?? ''; 

但我不确定使用什么作为正则表达式。

最佳答案

由于 DateTime.parse 支持提供的时间戳,您可以这样做:

void main() {
  final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
  print(convertDateTimeToString(dateTime)); // 2021-08-11 11:38
}

String convertDateTimeToString(DateTime dt) => '${dt.year}-'
    '${dt.month.toString().padLeft(2, '0')}-'
    '${dt.day.toString().padLeft(2, '0')} '
    '${dt.hour.toString().padLeft(2, '0')}:'
    '${dt.minute.toString().padLeft(2, '0')}';

或者,您可以使用类似 intl 的包它支持使用格式化模式格式化 DateTime:

import 'package:intl/intl.dart';

void main() {
  final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
  final format = DateFormat('yyyy-MM-dd HH:mm');
  print(format.format(dateTime)); // 2021-08-11 11:38
}

关于mysql - Flutter/Dart 只提取日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68754357/

相关文章:

flutter - 带圆边的 ListView

android - flutter 错误 : SafetyNet Attestation fails basic integrity

php - 警告 : mysqli_connect(): MySQL server has gone away

java - 正则表达式在字符串中查找键->值

javascript - 最多 4 位数字和/或最多 4 位小数的正则表达式

正则表达式 - 可变长度的匹配数字

routes - Flutter 重定向到 initState 上的页面

php - Mysql_stmt::bind_result()

mysql - 如何在电脑启动时自动打开MYSQL?或者有可以下载的软件吗?

php - MySql 函数和 Mysql 函数内的 session /用户变量