获取当前时间 String型
//获取日期
public static String getDate(){
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd");
//静态方法getInstance()使用默认时区和语言环境获得一个日历。
Calendar calendar=Calendar.getInstance();
//获取当前日期
String sdDate = sdFormat.format(calendar.getTime());
return sdDate;
}
//获取时间
public static String getTime(){
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("HH:mm:ss");
//静态方法getInstance()使用默认时区和语言环境获得一个日历。
Calendar calendar = Calendar.getInstance();
//获取当前日期
String sdTime = sdFormat.format(calendar.getTime());
return sdTime;
}
//获取日期+时间
public static String getDateTime(){
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//静态方法getInstance()使用默认时区和语言环境获得一个日历。
Calendar calendar = Calendar.getInstance();
//获取当前日期
String sdTime = sdFormat.format(calendar.getTime());
return sdTime;
}
获取当前日期+时间 Date型
//获取日期+时间
public static Date getDateTime2(){
Calendar calendar = Calendar.getInstance();
System.out.println("calendar.getTime():"+calendar.getTime());
//获取当前日期
return calendar.getTime();
}
String 日期转为 Date类型的日期
public static Date parseDate(String strDate) throws ParseException {
SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd");
Date date = sdFormat.parse(strDate);
return date;
}
计算年龄
public static int getAge(Date birthDay) {
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay)) { //出生日期晚于当前时间,无法计算
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal.get(Calendar.YEAR); //当前年份
int monthNow = cal.get(Calendar.MONTH); //当前月份
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期
cal.setTime(birthDay);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH);
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth; //计算整岁数
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
if (dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一
}else{
age--;//当前月份在生日之前,年龄减一
}
}
return age;
}
获取今天所在这周的每一天的日期
public static String[] SevenDay() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
//获取今天的日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
//获取本周日期数组
String[] dates = new String[7];
for (int i = 0; i < 7; i++) {
dates[i] = dateFormat.format(calendar.getTime());
calendar.add(Calendar.DATE, 1);
}
return dates;
}
给时间加上几个小时
/**
* 给时间加上几个小时
* @param day 当前时间 格式:yyyy-MM-dd HH:mm:ss
* @param hour 需要加的时间
* @return
*/
public static Date addDateMinut(String day, int hour){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = format.parse(day);
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("front:" + format.format(date)); //显示输入的日期
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//cal.add(Calendar.MINUTE, min);//加上几分钟
//cal.add(Calendar.DATE, dayNum);//加上几天
//cal.add(Calendar.MONTH, dayNum);//加上几个月
cal.add(Calendar.HOUR, hour);// 24小时制
date = cal.getTime();
System.out.println("--------------------》 addDateMinut after:" + format.format(date)); //显示更新后的日期
cal = null;
return date;
}