📜  Dart – 日期和时间(1)

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

Dart - 日期和时间

Dart 是一门非常强大的编程语言,它具有易学易用、高效、快速、安全等特点。它内置了许多有趣的库,包括日期和时间库,用于处理各种日期和时间的操作。

日期和时间库

Dart 中的日期和时间的操作是通过 DateTime 类完成的。DateTime 表示一个时间点,包括日期、时间和时区。您可以使用 DateTime 类创建一个表示当前时间的对象。下面是一个简单的示例:

DateTime now = new DateTime.now();
print("现在的时间是: $now");

输出:

现在的时间是: 2021-12-31 18:21:10.685023

DateTime 类有许多有用的方法。以下是一些常用的方法:

  • toLocal():将时间转换为本地时区。
  • toUtc():将时间转换为 UTC 时区。
  • year、month、day、hour、minute、second、millisecond:获取时间的年、月、日、时、分、秒和毫秒。
  • weekday:获取时间是星期几。
  • isBefore():判断时间是否在某个时间之前。
  • isAfter():判断时间是否在某个时间之后。
格式化日期和时间

在 Dart 中,您可以使用 DateFormat 类来格式化日期和时间。以下是一个简单的示例:

import 'package:intl/intl.dart';

void main() {
  var now = new DateTime.now();
  var formatter = new DateFormat('yyyy-MM-dd');
  String formatted = formatter.format(now);
  print(formatted);
}

输出:

2021-12-31

您可以使用不同的格式化选项来自定义日期和时间的格式。

常用日期和时间操作

在 Dart 中,您可以使用 DateTime 类执行许多常见的日期和时间操作。以下是一些示例:

计算日期差
DateTime now = new DateTime.now();
DateTime birthday = new DateTime(1990,1,1);
Duration difference = now.difference(birthday);
print(difference.inDays);
添加和减去时间
DateTime now = new DateTime.now();
Duration twoDays = new Duration(days: 2);
DateTime twoDaysLater = now.add(twoDays);
print(twoDaysLater);
DateTime twoDaysAgo = now.subtract(twoDays);
print(twoDaysAgo);
获取两个日期之间的天数
DateTime now = new DateTime.now();
DateTime birthday = new DateTime(1990,1,1);
Duration difference = now.difference(birthday);
int differenceInDays = difference.inDays;
print(differenceInDays);
结论

Dart 的日期和时间库提供了许多有用的功能,可以轻松地处理各种日期和时间操作。无论您是初学者还是有经验的开发人员,使用它都非常容易。希望您能通过本文了解 Dart 中的日期和时间库。