一些与后台获取数据的项目中,往往会要对时间进行一些处理,我在项目中就遇到要把时间进行处理,因为从后台获得的时间数据是原始时间,是一串数字。客户的要求就是今天发布的内容显示时和分(HH:mm),昨天发布的内容显示月和日(MM-dd)。代码如下:
//工具类
public class commonUitl {
/**从接口获取的LONG型数字转换成日期格式*/
public static String getformatedate(Long indate){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//把获取的时间转化成"yyyy-MM-dd HH:mm:ss"格式的字符串
String str = dateFormat.format(new Date(indate));
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
//再把字符串转化成Date类型
date = df.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SimpleDateFormat dfNew = new SimpleDateFormat("yyyy-MM-dd");
//再把Date类型的时间转化成"yyyy-MM-dd"格式的字符串
String senddatetime = dfNew.format(date);
// 得到当前日期
String nowdate = dfNew.format(new java.util.Date());
//与当前时间比较
if (nowdate.equals(senddatetime)) {
SimpleDateFormat dfNew1 = new SimpleDateFormat("HH:mm");
return dfNew1.format(date);
} else {
SimpleDateFormat dfNew1 = new SimpleDateFormat("MM-dd");
return dfNew1.format(date);
}
}
}
把已知的时间显示格式转化为我们想要的格式
public class DateUtil {
public static String getDate(String str) {
Date date = null;
//传入进来字符串时间格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
date = format.parse(str);
//要展示的时间格式
format.applyPattern("MM/dd");
} catch (ParseException e) {
e.printStackTrace();
}
return format.format(date);
}
public static String getDayDate(String str) {
Date date = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
date = format.parse(str);
format.applyPattern("MM/dd/yyyy");
} catch (ParseException e) {
e.printStackTrace();
}
return format.format(date);
}
public static String getSystemDate(long date) {
SimpleDateFormat dfNew = new SimpleDateFormat("HH:mm");
return dfNew.format(date);
}
}