一,概述

  • 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. 131、TensorFlow保存模型

    # tf.train.Saver类提供了保存和恢复模型的方法 # tf.train.Saver的构造函数 提供了save和恢复的参数选项 # Saver对象提供了方法来运行这些计算节点,制定了写和读的 ...

  2. 简单了解winform

    WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的窗体应用程序.可以访问数据库中的数据,并在窗体上显 ...

  3. RichEdit 学习

    procedure TForm1.AddText(RichEdit: TRichEdit; Str: string; TextColor: TColor = clBlack; FontName: st ...

  4. Ubuntu下apt-get 安装apache2、php、mysql后的默认路径

    apache: 采用apt-get 在线安装,安装路径应在/etc/apache2目录下 apache配置文件/etc/apache2/apache2.conf Apache模块路径:/usr/sbi ...

  5. POJ - 3176 Cow Bowling 动态规划

    动态规划:多阶段决策问题,每步求解的问题是后面阶段问题求解的子问题,每步决策将依赖于以前步骤的决策结果.(可以用于组合优化问题) 优化原则:一个最优决策序列的任何子序列本身一定是相当于子序列初始和结束 ...

  6. JS验证数字

    //1.验证数字 var reg = new RegExp("^[0-9]*$"); //var reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+ ...

  7. [Linux] 020 RPM 包的命名原则与其依赖性

    1. RPM 包命名原则 例如:httpd-2.2.15-15.e16.centos.1.i686.rpm 字符 释义 httpd 软件包名 2.2.15 软件版本 15 软件发布的次数 e16.ce ...

  8. mysql中插入中文时显示乱码

    在插入mysql的时候参数是中文的时候显示的是???乱码,这个是由于没有配置字符编码引起的 只要在SqlMapconfig.xml文件中加上<property name="url&qu ...

  9. spring-第十八篇之spring AOP基于XML配置文件的管理方式

    1.在XML配置文件中配置切面.切入点.增强处理.spring-1.5之前只能使用XML Schema方式配置切面.切入点.增强处理. spring配置文件中,所有的切面.切入点.增强处理都必须定义在 ...

  10. 洛谷 P1546 最短网络 Agri-Net(最小生成树)

    题目链接 https://www.luogu.org/problemnew/show/P1546 说过了不复制内容了 显然是个最小生成树. 解题思路 prim算法 Kruskal算法 prim算法很直 ...