美文网首页
Flutter DateTime的部分用法

Flutter DateTime的部分用法

作者: 行走世间全都是妖怪 | 来源:发表于2021-02-02 13:47 被阅读0次

            在客户端开发中,时间(包含日期和时间)是一个很常用的功能,比如显示时间、时间和时间戳转换、时间之间的比较等,我使用的是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的部分用法

          本文链接:https://www.haomeiwen.com/subject/gntytltx.html