前言
转了一圈,没有找到相关的代码可以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');
}
演示效果
数据不足,只展示 时间段 +小时+分钟,其它请自行测试