基本上每个项目都会用到时间的比较或者转化时间,那我就推荐大家俩种方法
第一个就是时间的比较(和本地时间的对比)
//获取本地时间 Calendar calendar = Calendar.getInstance(); //年 int year = calendar.get(Calendar.YEAR); //月 int month = calendar.get(Calendar.MONTH) + 1; //日 int day = calendar.get(Calendar.DAY_OF_MONTH); //小时 int hour = calendar.get(Calendar.HOUR_OF_DAY); //分钟 int minute = calendar.get(Calendar.MINUTE); //秒 int second = calendar.get(Calendar.SECOND); String time1 = year + "-" + month + "-" + day; Log.d("tag", "convert: "+time1); String time2 = hour + ":" + minute; Log.d("tag", "convert: "+time2); //获取系统时间 String endTime = time1 + time2; Log.d("tag", "convert: "+endTime);
然后和网络请求的时间来做比较
Date start = null;
Date end = null;
//注意这个格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
try{//这个try catch是必须要添加的,否则会报错
start = sdf.parse(网络请求的时间(注意是String类型的));
end = sdf.parse(endTime);
if(end.getTime() > start.getTime()){
//在这个里面写需求
}else{
}
catch (java.text.ParseException e) {
e.printStackTrace();
}
第二个就是时间转化了,这个时候就会用到时间戳
写一个时间的工具类吧
public class DateUtil {
/**
* 获取系统时间戳
* @return
*/
public long getCurTimeLong(){
long time=System.currentTimeMillis();
return time;
}
/**
* 获取当前时间
* @param pattern
* @return
*/
public static String getCurDate(String pattern){
SimpleDateFormat sDateFormat = new SimpleDateFormat(pattern);
return sDateFormat.format(new java.util.Date());
}
/**
* 时间戳转换成字符窜
* @param milSecond
* @param pattern
* @return
*/
public static String getDateToString(long milSecond, String pattern) {
Date date = new Date(milSecond);
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(date);
}
/**
* 将字符串转为时间戳
* @param dateString
* @param pattern
* @return
*/
public static long getStringToDate(String dateString, String pattern) {
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
Date date = new Date();
try{
date = dateFormat.parse(dateString);
} catch(ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date.getTime();
}
}
好了,关于时间就分享到这块了