一身转战三千里,一剑曾百万师。这篇文章主要讲述Android下的几种时间格式转换相关的知识,希望能为你提供帮助。
更多更全的工具类,请参考github上的Blankj/AndroidUtilCode
将毫秒转换为小时:分钟:秒格式
public static String ms2HMS(int _ms){
String HMStime;
_ms/=1000;
int hour=_ms/3600;
int mint=(_ms%3600)/60;
int sed=_ms%60;
String hourStr=String.valueOf(hour);
if(hour<
10){
hourStr="0"+hourStr;
}
String mintStr=String.valueOf(mint);
if(mint<
10){
mintStr="0"+mintStr;
}
String sedStr=String.valueOf(sed);
if(sed<
10){
sedStr="0"+sedStr;
}
HMStime=hourStr+":"+mintStr+":"+sedStr;
return HMStime;
}
将毫秒转换为标准日期格式
public static String ms2Date(long _ms){
Date date = new Date(_ms);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
return format.format(date);
}public static String ms2DateOnlyDay(long _ms){
Date date = new Date(_ms);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
return format.format(date);
}
标准时间转换为时间戳
public static long Date2ms(String _data){
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = format.parse(_data);
return date.getTime();
}catch(Exception e){
return 0;
}
}
计算时间差
public staticString DateDistance(Date startDate,Date endDate){
if(startDate == null ||endDate == null){
return null;
}
long timeLong = endDate.getTime() - startDate.getTime();
if(timeLong<
0){
timeLong=0;
}
if (timeLong<
60*1000)
return timeLong/1000 + "秒前";
else if (timeLong<
60*60*1000){
timeLong = timeLong/1000 /60;
return timeLong + "分钟前";
}
else if (timeLong<
60*60*24*1000){
timeLong = timeLong/60/60/1000;
return timeLong+"小时前";
}
else if ((timeLong/1000/60/60/24)<
7){
timeLong = timeLong/1000/ 60 / 60 / 24;
return timeLong + "天前";
}else{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(startDate);
}
}
【Android下的几种时间格式转换】计算与当前的时间差
public staticString DateDistance2now(long _ms){
SimpleDateFormat DateF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Long time=new Long(_ms);
String d = DateF.format(time);
Date startDate=DateF.parse(d);
Date nowDate = Calendar.getInstance().getTime();
return DateDistance(startDate, nowDate);
}catch (Exception e){
}
return null;
}
推荐阅读
- Android工程内嵌Flutter
- spring-boot-2.0.3不一样系列之源码篇 - SpringApplication的run方法之SpringApplicationRunListener,绝对有值得你看的地方
- 基于Html5 Plus + Vue + Mui 移动App开发-文件操作(读取保存更新数据)
- ARDC Android远程桌面助手 简介
- android 仿微信表情雨下落!
- TestNG教程入门介绍
- Xamarin.Forms(跨平台)用法详细图解
- Xamarin.Forms的XAML解释和用法介绍
- Xamarin和React Native有什么区别(详细示例图解)