我们在使用QQ、微信等应用时,我们的手机会提示该消息时在过去的某个时间发送的,我们如何运用JAVA来实现这个功能呢?
代码如下:
public class Time {
public static void main(String[] args) throws ParseException {
SimpleDateFormat c = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("请输入日期:");//在这里输入时间
long time1 = System.currentTimeMillis();//当前时间的时间戳
Scanner time2 = new Scanner(System.in);//输入时间
//将输入的时间转为时间戳
Date sr = c.parse(time2.nextLine());
Calendar cal = Calendar.getInstance();
cal.setTime(sr);
long timestamp = cal.getTimeInMillis();
DateFormat gs = new SimpleDateFormat("yyyy年 MM月dd日 ");//输出的时间格式
long dv = time1 - timestamp;//时间戳差值
long aaaaa = time1-dv;//当前时间减去差值,得到时间
String rq = gs.format(new Date(Long.parseLong(String.valueOf(aaaaa))));//获取时间
long dw = 1000*60;//一分钟单位
long hh =dw*60;//一个小时的单位
long dd =hh*24;//一天的单位
if (dv
long mmm=dv/1000;
System.out.printf("来自%d秒前的消息",mmm);
}else if( dv>dw&dv
long fff=dv/dw;
System.out.printf("来自%d分钟前的消息",fff);
}else if(dv>hh&dv
long xxx = dv/hh;
System.out.printf("来自%d小时前的消息",xxx);
}else if(dv>dd&dv
long ttt= dv/dd;
System.out.printf("来自%d天前的消息",ttt);
}else if(dv>(dd*30)) {
System.out.println("来自" +rq+"的消息");
}
time2.close();
}
}
这里我输出的时候时根据时间的长短输出不同的方式。