📜  datetime dart 格式打印 - Dart (1)

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

Dart 中的日期时间格式化 - DateTime

在 Dart 中,可以使用 DateTime 类来表示日期和时间。这个类提供了许多方法来操作日期和时间,包括格式化日期和时间。

格式化日期

要格式化日期,可以使用 DateTime 类中的 toString() 方法。这个方法可以接受一个格式化字符串,用来指定输出的日期时间格式。下面是一些常用的格式化字符串:

  • yyyy-MM-dd:输出年、月、日,使用横杠分隔。
  • yyyy/MM/dd:输出年、月、日,使用斜杠分隔。
  • yyyy-MM-ddTHH:mm:ss:输出年、月、日、小时、分钟、秒,使用横杠和冒号分隔。
  • yyyy-MM-dd HH:mm:ss:输出年、月、日、小时、分钟、秒,使用横杠和冒号分隔,时间和日期之间使用空格分隔。
  • EEE, MMM d, ''yy:输出星期、月份、日、年。

在代码中,可以这样使用这些格式化字符串:

import 'package:intl/intl.dart';

void main() {
  DateTime now = DateTime.now();

  String formattedDate = DateFormat('yyyy-MM-dd').format(now);
  print(formattedDate); // 输出:2022-01-01

  formattedDate = DateFormat('yyyy/MM/dd').format(now);
  print(formattedDate); // 输出:2022/01/01

  formattedDate = DateFormat('yyyy-MM-ddTHH:mm:ss').format(now);
  print(formattedDate); // 输出:2022-01-01T12:00:00

  formattedDate = DateFormat('yyyy-MM-dd HH:mm:ss').format(now);
  print(formattedDate); // 输出:2022-01-01 12:00:00

  formattedDate = DateFormat('EEE, MMM d, ''yy').format(now);
  print(formattedDate); // 输出:Sat, Jan 1, '22
}

注意,在使用日期和时间格式化时,需要先导入 intl 包。可以使用以下命令添加该包:

pub add intl
时间戳转日期

在 Dart 中,可以使用 DateTime.fromMillisecondsSinceEpoch() 方法将时间戳转换为日期时间。这个方法接受一个整数参数,表示从 1970 年 1 月 1 日至今的毫秒数。下面是一个示例代码:

void main() {
  int timestamp = 1641014400000; // 2022-01-01 00:00:00 的时间戳
  DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(timestamp);

  print(dateTime); // 输出:2022-01-01 00:00:00.000
}
总结

本篇文章介绍了在 Dart 中如何格式化日期和时间,以及将时间戳转换为日期时间。在实际开发中,时间格式化是一个很常见的需求,掌握这些知识可以让我们更加高效地开发应用程序。