一,概述

  • Duration表示从一个时间点到另一个时间点的时间差
  • 如果是一个较晚的时间点和一个较早的时间点,Duration可能是负数

二,创建Duration

  • 唯一的构造函数创建Duration对象

    Duration({int days: , int hours: , int minutes: , int seconds: , int milliseconds: , int microseconds: })
  • 可以使用其中的一个或者几个参数创建
    • 只是用其中的一个参数

      Duration ration = Duration(days: );
      print(ration); //24:00:00.000000
      Duration ration1 = Duration(hours: );
      print(ration1); //10:00:00.000000
    • 只是用其中的两个参数
      Duration ration2 = Duration(days: , hours: );
      print(ration2); //27:00:00.000000
    • 使用所有的参数
      Duration ration3 = Duration(days: , hours: , minutes: , seconds: , milliseconds: , microseconds: );
      print(ration3); //50:23:34.056089

三,相关运算

  • 示例

    Duration time1 = Duration(days: , hours: , minutes: , seconds: , milliseconds: , microseconds: );
    Duration time2 = Duration(days: , hours: , minutes: , seconds: , milliseconds: , microseconds: );
    print(time1); //25:01:01.001001
    print(time2); //50:02:02.002002
    • print(time1 + time2); //75:03:03.003003
    • print(time1 - time2); //-25:01:01.001001
    • print(time1 * ); //50:02:02.002002
    • 除(取整)
      print(time2 ~/ ); //16:40:40.667334
    • 比较
      print(time1 > time2); //false
      print(time1 >= time2); //false
      print(time1 == time2); //false
      print(time1 < time2); //true
      print(time1 <= time2); //true
    • 取相反值
      print(-time1); //-25:01:01.001001
      print(-(time1 - time2)); //25:01:01.001001

四,相关函数

  • 示例

    Duration time3 = -Duration(days: , hours: , minutes: , seconds: , milliseconds: , microseconds: );
    print(time3); //-25:01:01.001001
    • 取绝对值

      print(time3.abs()); //25:01:01.001001
    • 比较, 返回值, 0: 相等, -1: time1 < time2, 1: time1 > time2
      print(time1.compareTo(time2)); //-1
    • 字符串形式
      print(time1.toString());

【Dart学习】--之Duration相关方法总结的更多相关文章

  1. Dart 学习资料

    Dart 学习资料: 学习资料 网址 Dart 编程语言中文网 http://dart.goodev.org/ Dart 官方包仓库 https://pub.dartlang.org/ 你想了解的Da ...

  2. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  3. 【Dart学习】--之Runes与Symbols相关方法总结

    一,Runes 在Dart中,Runes代表字符串的UTF-32字符集, 另一种Strings Unicode为每一个字符.标点符号.表情符号等都定义了 一个唯一的数值 由于Dart字符串是UTF-1 ...

  4. 【Dart学习】--之Iterable相关方法总结

    一,概述 按顺序访问的值或元素的集合, List集合也是继承于Iterable List和Set也是Iterable,dart:collection库中同样有很多 部分Iterable集合可以被修改 ...

  5. 【dart学习】之字典(Map)的相关方法总结

    一,概述 通常来讲,Map是一个键值对相关的对象,键和值可以是任何类型的对象.每个键只出现一次,而一个值则可以出现多次.映射是动态集合. 换句话说,Maps可以在运行时增长和缩小. dart:core ...

  6. 【Dart学习】--Dart之数字(num)相关方法总结

    一,部分属性 用法一(figureA) int figureA = -93; 是否为负数 print(figureA.isNegative); figureA是否是有限的 print(figureA. ...

  7. 【Dart学习】--Dart之数组(List)的相关方法总结

    一,初始化List 非固定长度list var testList = List(); print(testList.length);//输出0 固定长度List var testList2 = Lis ...

  8. 【Dart学习】--Dart之正则表达式相关方法总结

    一,部分属性 RegExp exp = new RegExp(r"(\w+)"); 返回正则表达式的哈希码 print(exp.hashCode); 正则表达式是否区分大小写 pr ...

  9. 【Dart学习】--Dart之字符串(String)的相关方法总结

    字符串定义使用单引号或双引号 String a = "abcdefg"; String b = '; 创建多行字符串,保留内在格式使用三个单引号或三个双引号 创建多行字符串,保留内 ...

随机推荐

  1. day04—JavaScript之面向对象

    转行学开发,代码100天——2018-03-20 对象是变量的容器,是键值对的容器,也是属性和方法的容器. 万物接对象 1.JavaScript中对象定义的方式 方法一:new Object() // ...

  2. 接口自动化之cookies登录

    现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.requests的添加cookies的方法 2.举个栗子 1.requests的添加cookies的方法 request ...

  3. Elasticsearch+Logstash+Kibana搭建日志平台

    1 ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进行数据读写 ...

  4. Vue3.0响应式实现

    基于Proxy // 弱引用映射表 es6 防止对象不能被回收 let toProxy = new WeakMap(); // 原对象: 代理过得对象 let toRaw = new WeakMap( ...

  5. SQL根据日期计算当月有多少天(转)

    原文链接:https://blog.csdn.net/dobear_0922/article/details/2393235 --1.删除测试用表IF OBJECT_ID(N'Test', N'U') ...

  6. aspnet core in docker

    1 创建一个文件夹(app), 将项目发布后的文件放入该文件夹中 并且创建Dockerfile文件 2 打开Dockerfile文件,编辑一下内容 #基于 `microsoft/dotnet:-cor ...

  7. [Codeforces 364D]Ghd(随机算法+gcd)

    [Codeforces 364D]Ghd(随机算法) 题面 给出n个正整数,在其中选出n/2(向上取整)个数,要求这些数的最大公约数最大,求最大公约数的最大值 分析 每个数被选到的概率\(\geq \ ...

  8. Day6----Python的pyinstall库的使用

    Python的pyinstaller库 pyinstaller的安装 介绍:pyinstaller是Python的第三方库,主要用于将Python代码打包成  可执行文件    ,以此达到就算没安装P ...

  9. sqlserver创建索引语句

    CREATE INDEX PersonIndex ON 表名 (字段名)   DROP INDEX PersonIndex ON 表名

  10. C# 使用Epplus导出数据到Excel

    简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本 ...