前言
转了一圈,没有找到相关的代码可以Copy,无奈只能自己写了,希望能帮到你~
ps:本人也是刚刚接触Flutter时间不久,如果代码存在瑕疵,欢迎指正!
一键复制代码
static String ucTimeAgo(int millTime) {//当前日期DateTime _nowDate = DateTime.now();//传入的日期 millTime为毫秒级时间戳DateTime _conDate = DateTime.fromMillisecondsSinceEpoch(millTime);//转换后的时间String _returnTime = '';if (_nowDate.year != _conDate.year) {_returnTime = '${_conDate.year}年';}if (_nowDate.month != _conDate.month) {_returnTime = _returnTime + '${_conDate.month}月';}if (_nowDate.day != _conDate.day) {if (_nowDate.difference(DateTime(_conDate.year, _conDate.month, _conDate.day)).inDays ==1) {_returnTime = '昨日 ';} else {_returnTime = _returnTime + '${_conDate.day}日 ';}}// 凌晨:0时至5时;早晨:5时至8时;上午:8时至11时;中午:11时至13时;下午:13时至16时;傍晚:16时至19时;晚上:19时至24时。int _conHour = _conDate.hour;if (_conHour >= 0 && _conHour < 5) {_returnTime = _returnTime + '凌晨';} else if (_conHour >= 5 && _conHour < 8) {_returnTime = _returnTime + '早晨';} else if (_conHour >= 8 && _conHour < 11) {_returnTime = _returnTime + '上午';} else if (_conHour >= 11 && _conHour < 13) {_returnTime = _returnTime + '中午';} else if (_conHour >= 13 && _conHour < 16) {_returnTime = _returnTime + '下午';} else if (_conHour >= 16 && _conHour < 19) {_returnTime = _returnTime + '傍晚';} else if (_conHour >= 19 && _conHour <= 23) {_returnTime = _returnTime + '晚上';}return _returnTime +_conHour.toString().padLeft(2, '0') +':' +_conDate.minute.toString().padLeft(2, '0');}
演示效果
数据不足,只展示 时间段 +小时+分钟,其它请自行测试