Flutter 封装时间日期工具类DateTime

android用到的工具类全部都要重新封装啊,此次封装的是事件日期处理工具类,主要包括常用的对时间日期的处理功能,后续会根据需要慢慢完善,有需求也可以留言,都会补充

此次为了格式化日期,使用了一个第三方库date_format,这个库也是非常常用的第三方格式化日期的库,先把库的依赖添加到yaml文件中

#日期格式化
  date_format: ^2.0.4

下面就是封装的类,我都设为了静态方法,方便直接使用

import 'package:date_format/date_format.dart';

class TimeUitls {
  //格式化的一些模板
  static final List<String> yyyy_MM_dd = [
    "yyyy",
    "-",
    "mm",
    "-",
    "dd",
  ];
  static final List<String> yyyy_MM_dd2 = [
    "yyyy",
    "年",
    "mm",
    "月",
    "dd",
    "日",
  ];
  static final List<String> yyyy_MM_dd_HH_mm_ss = [
    "yyyy",
    "-",
    "mm",
    "-",
    "dd",
    " ",
    "HH",
    ":",
    "nn",
    ":",
    "ss"
  ];
  static final List<String> yyyy_MM_dd_HH_mm_ss2 = [
    "yyyy",
    "年",
    "mm",
    "月",
    "dd",
    "日",
    " ",
    "HH",
    "时",
    "nn",
    "分",
    "ss",
    "秒"
  ];

  //获取当前时间戳,返回为毫秒
  static int getTimeStamp() {
    return DateTime.now().millisecondsSinceEpoch;
  }

  //时间戳转换为日期并格式化
  static String getDateFromStamp(int timeStamp, List<String> formats) {
    DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(timeStamp);
    return formatDate(dateTime, formats);
  }

  //当前日期并格式化
  static String getCurrentDate(List<String> formats) {
    return formatDate(DateTime.now(), formats);
  }

  //string类型日期格式化
  static String formatStringDate(String date, List<String> formats) {
    DateTime dateTime = DateTime.parse(date);
    return formatDate(dateTime, formats);
  }

  //日期转时间戳
  static int getTimeStampByStringDate(String date) {
    DateTime dateTime = DateTime.parse(date);
    return dateTime.millisecondsSinceEpoch;
  }

  //比较前一个日期是否小于后面的日期
  static bool date1Befordate2(String date1, String date2) {
    int timeStamp1 = getTimeStampByStringDate(date1);
    int timeStamp2 = getTimeStampByStringDate(date2);
    if (timeStamp1 >= timeStamp2) {
      return false;
    } else {
      return true;
    }
  }

}

提供了一些模板可供选择,Flutter对日期的格式化其实利用这个库直接写也挺方便的,但为了把所有的日期格式化的方法都统一起来,都封装起来,所以写了一个这个类,以后所有的对于日期的计算和操作都会使用到这个类,顺便提供了几个常用的格式化模板,我感觉还挺好用的,使用方法如下

TextView("当前时间戳:${TimeUitls.getTimeStamp()}"),
          TextView(
              "当前日期:${TimeUitls.getCurrentDate(TimeUitls.yyyy_MM_dd_HH_mm_ss)}"),
          TextView(
              "时间戳转日期:${TimeUitls.getDateFromStamp(TimeUitls.getTimeStamp(), TimeUitls.yyyy_MM_dd_HH_mm_ss2)}"),
          TextView(
              "String类型格式化:${TimeUitls.formatStringDate("20210101 101022", TimeUitls.yyyy_MM_dd2)}"),
          TextView("日期转时间戳:${TimeUitls.getTimeStampByStringDate("20210202")}"),
          TextView("日期比较:${TimeUitls.date1Befordate2("20210202", "20210303")}"),

有问题可以留言

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter是一个开发跨平台应用的框架,用于构建高性能、高度可定制的应用。Flutter是用Dart编写的现代化框架,由谷歌开发,它提供了一个完整的用户界面组件库和工具,使开发人员可以轻松构建美观的应用程序。 Flutter提供了日期时间处理的功能,以实现各种日期时间操作。日期时间在应用程序中是非常普遍的,比如显示当前日期时间选择器、倒计时等等。Flutter提供了一组日期时间操作的库,用于解决这些问题。 Flutter中,日期时间使用DateTime类来表示。DateTime类具有许多有用的方法和属性,可以让我们对日期时间进行各种操作。以下是FlutterDateTime类的一些常见用法: 1. 获取当前时间 使用DateTime.now()方法可以获取当前时间。这个方法返回一个表示当前日期时间DateTime对象。 2. 格式化日期时间 可以使用DateTime对象的toString()方法,将其转换为指定格式的字符串。Flutter中提供了许多不同的日期时间格式,可以根据需要进行选择。 3. 时间差计算 可以使用DateTime类的差值运算符(+和-)来计算时间差。这可以用于计算两个日期时间之间的时间间隔。 4. 时间转换 DateTime对象可以很容易地转换为不同的格式,以满足应用程序的需求。可以将DateTime对象转换为时间戳(unix时间戳)或UTC时间。 总之,Flutter提供了丰富的日期时间处理功能,让开发人员可以轻松处理各种日期时间操作。开发者可以利用Flutter日期时间处理功能,通过简单的代码实现更多功能,增强应用程序的用户体验和功能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值