一、 java比较时间大小
String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");
1 直接用Date自带方法before()和after()比较
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
2 用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
3 转成date格式换成秒数比较秒数大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()
二、SimpleDateFormat方法
(1)parse:将字符串转换成时间
(2)format:将时间转换成字符串
yyyy年MM月dd日 HH时mm分–》时间戳
时间字符串转时间戳
public static String dateToStamp(String s,String format) {//yyyy年MM月dd日 HH时mm分
String res="";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
try {
res = String.valueOf(simpleDateFormat.parse(s).getTime()/1000);
} catch (ParseException e) {
e.printStackTrace();
}
return res;//时间戳
}
date转时间戳
public static String dateToStamp(Date date, String format) {//yyyy年MM月dd日 HH时mm分
String res = "";//设置时间格式,将该时间格式的时间转换为时间戳
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
res = String.valueOf(date.getTime() / 1000);
return res;
}
JAVA时间戳长度是13位,如:1294890876859
PHP时间戳长度是10位, 如:1294890859
1.php时间戳转成java时间
需要在PHP传过来的时间戳后面加三个0,因为PHP的时间戳的单位是秒,java的是毫秒
public static String getTime(String time) {
if (TextUtils.isEmpty(time)) {
return "";
}
String dateTime;
Date d2 = new Date(Long.parseLong(time + "000"));
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateTime = df.format(d2);
return dateTime;
}
2.java时间转成java时间戳
public static String Date2TimeStamp(String dateStr, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return String.valueOf(sdf.parse(dateStr).getTime() / 1000);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
3.java时间转成PHP时间戳
public static String Date2TimeStamp(String dateStr, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return String.valueOf(sdf.parse(dateStr).getTime()/1000);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
4.获取当前时间并格式化
private String getCurrentTime() {
String currentTime = "";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM");
currentTime = simpleDateFormat.format(new Date());
return currentTime;
}
5.将date类型的时间进行格式化
private String getTime(Date date) {
String time = "";
// SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM");
time = simpleDateFormat.format(date);
return time;
}