【Flutter学习】之DateTime日期转换
概述:
- 表示一个时间点
- 通过构造函数或解析格式化的字符串创建
DateTime
对象,并且符合ISO 8601
标准的子集,小时是24小时制,范围在0-23之间 DateTime
对象创建之后,将是固定不变的, 不可被修改DateTime
对象默认使用的是本地时区,除非显示地指定UTC
时区
一,方法详解
- 命名构造,获取当前时间
now()
-
指定时间
//创建时间对象,并指定时间 DateTime victoryDay = new DateTime(1945,9,9);//
-
时间跨度
//计算时间跨度,例如计算2天56时14分的跨度 Duration timeRemaining = new Duration(days:2, hours:56, minutes:14); print(timeRemaining);//104:14:00.000000 }
- DateTime转时间戳
millisecondsSinceEpoch
- 时间戳转DateTime
fromMillisecondsSinceEpoch
- 字符串转DateTime
parse(string)
- 时间比较---在之前
isBefore(date)
- 时间比较---在之后
isAfter(date)
- 时间比较---相等
isAtSameMomentAs(date)
- 大于返回1;等于返回0;小于返回-1
compareTo(date)
- 时间增加
add(Duration)
- 时间减少
subtract(Duration)
- 时间差 两个时间相差 小时数
difference(date)
- 本地时区简码
timeZoneName
- 返回UTC与本地时差 小时数
timeZoneOffset
- 返回 年、月、日、时、分、秒、毫秒、微妙
year、month、day、hour、minute、second、millisecond、microsecond
- 返回星期几
weekday
二,字符串与日期相互转换
- String-->DateTime:
DateTime.parse(String);
- DateTime -->formatString:
formatDate(DateTime ,[yyyy,'-',mm,'-',dd]);
三,代码示例
var today = DateTime.now(); print('当前时间是:$today');
var date1 = today.millisecondsSinceEpoch; print('当前时间戳:$date1');
var date2 = DateTime.fromMillisecondsSinceEpoch(date1); print('时间戳转日期:$date2');
//拼接成date var dentistAppointment = new DateTime(2019, 6, 20, 17, 30,20); print(dentistAppointment);
// 字符串转date DateTime date3 = DateTime.parse("2019-06-20 15:32:41"); print(date3);
// 时间比较 print(today.isBefore(date3));// 在之前 print(today.isAfter(date3)); // 在之后 print(date3.isAtSameMomentAs(date3));// 相同 print(date3.compareTo(today));// 大于返回1;等于返回0;小于返回-1。 // print(DateTime.now().toString()); // print(DateTime.now().toIso8601String()); //时间增加 var fiftyDaysFromNow = today.add(new Duration(days: 5)); print('today加5天:$fiftyDaysFromNow');
//时间减少 DateTime fiftyDaysAgo = today.subtract(new Duration(days: 5)); print('today减5天:$fiftyDaysAgo');
//时间差 两个时间相差 小时数 print('比较两个时间 差 小时数:${fiftyDaysFromNow.difference(fiftyDaysAgo)}'); print('本地时区简码:${today.timeZoneName}'); print('返回UTC与本地时差 小时数:${today.timeZoneOffset}'); print('获取年月日:${today.year}');//month、day、hour、minute、second、millisecond、microsecond print('星期:${today.weekday}');// 返回星期几
四,示例结果 
分类:
Flutter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)