Flutter DateTime的部分用法

        在客户端开发中,时间(包含日期和时间)是一个很常用的功能,比如显示时间、时间和时间戳转换、时间之间的比较等,我使用的是date_format: ^1.0.8插件。在这里记录一下使用方法。

        1、时间戳转换为String类型的字段

static StringreadTimestamp(int timestamp) {

    if (timestamp ==null) {

        return "";

      }

    var date =new DateTime.fromMillisecondsSinceEpoch(

        timestamp.toString().length ==10 ? timestamp *1000 : timestamp);

    var time = formatDate(date, [mm, '-', dd, ' ', " ", HH, ':', nn]);

    return time;

}

首先是把13位的时间戳转换成DateTime,然后根据formatDate方法根据需要的格式来进行拼接。

点进这个formatDate方法看一下,就能完全明白这个String类型的时间是怎么拼接出来的

在传入的formats集合来区分是获取年、月、日、时、分、秒、周几等什么样的内容,对DateTime来做不同的处理,再通过StringBuffer来把这些字段拼接起来,就得到了我们需要的字段类型。

        2、获取各个时间层次的值

  可以分别通过DateTime.now().year,DateTime.now().month,DateTime.now().day来分别获取现在的年份,月份和日期,同样也可以获取到时(hour)、分(minute)、秒(second)、毫秒(millisecond)、周几(weekday),这个使用比较简单。

    3、两个时间之间的判断或者加减

一:计算两个日期之间的间隔天数,很简单,就一句话

time2.difference(time1).inDays

同样可以得到,以小时计算的间隔,以分钟计算的间隔等等

二:获取时间加、减之后的日期:

time.add(new Duration(days: -1));(减一天)或者time.subtract(Duration(days:1));

time.add(new Duration(days: 1));(加一天)

可以看出add的时候参数是一个Duration,看一下代码

也就是对于一个日期来说,对Duration的这些入参或者说成是构造参数都可以执行加减的操作。

对于flutter中的时间使用就到这里了,后续如果有更多的关于时间上的操作,再来更新文章。

你可能感兴趣的:(Flutter DateTime的部分用法)