Flutter时间处理


Flutter 中在时间处理方面还是比较简单的,我们主要用到的有两个类:

  • DateTime

    表示一个指定的时间点,包括年月日时分秒

  • TimeOfDay

    表示一天中的一个时间点,可以区分上午,下午,12小时制,24小时制等

获取当前时间

final now = DateTime.now();

这里就得到了一个当前时间的DateTime对象,然后就可以拿到你想要的信息:

final year = now.year;
final month = now.month;
final day = now.day;

还可以获取当前时星期几:

final week = now.weekday;

转时间戳

final now = DateTime.now();
String timestamp = now.millisecondsSinceEpoch.toString();

时间运算

  • 前2天

    final now = DateTime.now();
    final before = now.subtract(Duration(days: 2));
  • 后2天

    final now = DateTime.now();
    final after = now.add(Duration(days: 2));
  • 两个时间点相隔的时间数

    final now = DateTime.now();
    final after = now.add(Duration(days: 2));
    final diff = after.difference(now).inHours; // 相隔的小时数,也可以是分钟数,秒数

上午还是下午

可以使用TimeOfDay来处理:

final timeOfDay = TimeOfDay.now();
final amOrPm = timeOfDay.period;

其中timeOfDay.period实际上是一个枚举对象:

enum DayPeriod {
  /// Ante meridiem (before noon).
  am,

  /// Post meridiem (after noon).
  pm,
}

这样可以判断是上午还是下午了。

12/24小时制

  • 24小时

    final hour24 = timeOfDay.hour;
  • 12小时

    final hour12 = timeOfDay.hourOfPeriod;

还可以格式化输出当前的分钟小时数:

final timeStr = timeOfDay.format(context); // 11:49 PM

文章作者: 姜康
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜康 !
评论
 上一篇
Flutter-Tabs的使用 Flutter-Tabs的使用
Flutter中使用tabs还是非常的简单的,可以用在顶部导航栏,也可以用在底部导航栏。 使用Tabs需要用到两个widget,一个是TabBar,用于顶导航或者底导航;一个是TabBarView,用于Tab下具体的
2020-05-08
下一篇 
Dart基础语法 Dart基础语法
重要的概念 任何你可以放在一个变量中的都是一个object,并且每个object都是一个class的实例,甚至于数字,functions,null都是对象,所有的对象继承自Object类。 即使Dart是强类型的,但是类型说明是可选的,因为
2020-05-08
  目录