📜  将日期时间颤动到字符串 - Dart (1)

📅  最后修改于: 2023-12-03 15:09:38.041000             🧑  作者: Mango

将日期时间颤动到字符串 - Dart

在Dart中,将日期和时间转换为字符串可以非常简单。Dart中有两个主要的类:DateTimeDateFormat,使用它们可以快速实现日期和时间的格式化和解析。本文将介绍如何将DateTime转换为字符串,并提供一些常用的日期时间格式化选项。

将DateTime转换为字符串

DateTime对象转换为字符串的最简单方法是调用其toString()方法。例如:

var now = DateTime.now(); // 获取当前时间
print(now.toString()); // 输出:2021-10-08 14:08:36.840342

toString()方法会将DateTime对象转换为YYYY-MM-DD hh:mm:ss.ssssss的字符串格式。如果你需要自定义日期时间格式,则可以使用DateFormat类。

使用DateFormat格式化日期时间

DateFormat类提供了各种日期和时间格式选项,可以帮助你根据需要定制日期和时间的格式。以下是几个常用的选项及其说明:

| 选项 | 描述 | | --- | --- | | y | 年(仅年份)| | M | 月 | | MMM | 缩写月份 | | MMMM | 完整月份 | | d | 日 | | E | 缩写星期几 | | EEEE | 完整星期几 | | a | 上午/下午 | | H | 24小时制小时数 | | h | 12小时制小时数 | | m | 分钟数 | | s | 秒数 | | S | 毫秒数 |

以下是一些示例,展示如何使用选项格式化日期时间:

var now = DateTime.now(); // 获取当前时间

// 使用默认格式
print(DateFormat().format(now)); // 输出:2021-10-08 14:24:50

// 自定义格式
print(DateFormat('yyyy-MM-dd').format(now)); // 输出:2021-10-08
print(DateFormat('yyyy-MM-dd HH:mm:ss').format(now)); // 输出:2021-10-08 14:24:50
print(DateFormat('yyyy/MM/dd hh:mm:ss a').format(now)); // 输出:2021/10/08 02:24:50 下午

在上面的示例中,DateFormat()创建一个DateFormay对象,并使用默认值yyyy-MM-dd hh:mm:ss格式化日期时间。使用其他选项可以自定义日期时间格式。

将字符串解析为DateTime

如果你有一个字符串,需要将其解析为DateTime对象,则可以使用DateTime.parse()方法。例如:

var dateString = '2021-10-08 14:24:50';
var dateTime = DateTime.parse(dateString);
print(dateTime.toString()); // 输出:2021-10-08 14:24:50.000000

DateTime.parse()方法将字符串解析为DateTime对象。请确保字符串遵循ISO 8601格式(例如YYYY-MM-DDTHH:mm:ss.sssZ),否则将导致解析错误。

结论

使用Dart将日期和时间格式化为字符串非常容易。使用DateTimeDateFormat类,可以快速轻松地进行日期和时间的格式化和解析,从而实现自己所需的格式。