格式要求如下:
15:55
昨天 15:55
星期三 15:55
星期二 15:55
星期一 15:55
星期日 15:55
星期六 15:55
2019-01-04 15:55:36
2019-01-03 15:55:36
2019-01-02 15:55:36
代码
package com.skychion;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeSwitch {
public static void main(String[] args) {
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
for(int i = 0;i < 10;i++){
switchTime(sdf.format(calendar.getTime()),pattern);
calendar.add(Calendar.DATE, -1);
}
}
private static void switchTime(String timeStr,String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Calendar paramCalendar = Calendar.getInstance();
paramCalendar.setTime(sdf.parse(timeStr));
Date today = format.parse(format.format(new Date()));
long dif = today.getTime() - paramCalendar.getTimeInMillis();
if(dif > 0 && (dif <= 1000*3600*24) ){
System.out.println("昨天 " + paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
}else if(dif <= 0){
System.out.println(paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
}else if(dif > 1000*3600*24 && dif <= 1000*3600*24*6){
int paramWeek = paramCalendar.get(Calendar.DAY_OF_WEEK);
switch (paramWeek){
case 1 :
System.out.println("星期日 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 2 :
System.out.println("星期一 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 3 :
System.out.println("星期二 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 4 :
System.out.println("星期三 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 5 :
System.out.println("星期四 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 6 :
System.out.println("星期五 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
case 7 :
System.out.println("星期六 "+
paramCalendar.get(Calendar.HOUR_OF_DAY) + ":"+
(paramCalendar.get(Calendar.MINUTE)>9?paramCalendar.get(Calendar.MINUTE):"0"+paramCalendar.get(Calendar.MINUTE)));
break;
}
}else{
System.out.println(timeStr);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}