Date类常见用法:
获取当天的日期:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); //获取simpleformat,制定格式化规格
Calendar calendar = Calendar.getInstance();// 通过getInstance方法获取Calendar实例
Date date = calendar.getTime();//通过calendar.getTime()获取当天日期,
String s = simpleDateFormat.format(date); //格式化日期
Calendar有很多用法 ,可以研究研究。例如:获取两个日期间的天数:
String start = "20150101";
String end = "20150606";
Date date1 = simpleDateFormat .parse(start);
calendar.setTime(date1);
int day1 = calendar.get(Calendar.DAY_OF_YEAR);
Date date2 = simpleDateFormat .parse(end);
calendar.setTime(date2);
int day2 = calendar.get(Calendar.DAY_OF_YEAR);
return day2 - day1;
获取两个时间的分秒差:
public static String getTimeLength(String start, String end) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
try {
calendar.setTimeInMillis(Long.parseLong(start));
int min1 = calendar.get(Calendar.MINUTE);
int sec1 = calendar.get(Calendar.SECOND);
calendar.setTimeInMillis(Long.parseLong(end));
int min2 = calendar.get(Calendar.MINUTE);
int sec2 = calendar.get(Calendar.SECOND);
int secRes, minRes;
if (sec2 - sec1 < 0) {
sec2 += 60;
}
secRes = sec2 - sec1;
if ((minRes = min2 - min1) < 0) {
return "00:00";
}
return String.format("%02d", minRes) + ":" + String.format("%02d", secRes);
} catch (Exception e) {
Log.v("lzq", "getTimeLength error!", e);
}
return "00:00";
}
String.format意思为通过一定的格式转换字符串。
如取两位整数,不足刚用0填充(多用于显示分秒):
int a = 5;
System.out.println(String.format("%02d", a));
结果显示05。
%2d表示两位整数,0表示前面不足用0填充。
保留一位小数:
float a = 10.23f;
String.format("%.1f",a);