您的位置:首页 > 编程语言 > Java开发

Java String,long,Date时间格式相互转换

2018-02-01 08:55 489 查看
/**
* Date转String(格式自定义)
* @param pattern yyyy-MM-dd HH:mm:ss yyyy-MM-dd等样式
* @return
*/
public static String date2String(Date date,String pattern) {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
String dateString = formatter.format(date);
return dateString;
}

/**
* string转date
* @param str
* @param pattern yyyy-MM-dd HH:mm:ss   yyyy-MM-dd等样式
* @return
*/
public static Date string2Date(String str,String pattern) {
SimpleDateFormat formatter = new SimpleDateFormat (pattern);
try {
Date date = formatter.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}

// long转换为Date类型
public static Date longToDate(long currentTime) {
Date date = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
return date;
}

// date转换为long类型
public static long date2Long(Date date) {
long time = date.getTime();
return time;
}

//string转long
public static long string2Long(String str,String pattern){
return date2Long(string2Date(str,pattern));
}

//long转string
public static String long2String(long str,String pattern){
return date2String(longToDate(str),pattern);
}


如何判断在某一个时间的前后呢?

//判断是否在两个时间段之间
public static boolean betweenTwoTime(String startTime,String endTime){
Date startDate=TimeParseUtil.string2Date(startTime,"yyyy-MM-dd HH:mm:ss");
Date endDate=TimeParseUtil.string2Date(endTime,"yyyy-MM-dd HH:mm:ss");
Date date = new Date();
if(date.after(startDate)&&date.before(endDate)){
return true;
}else {
return false;
}
}


思路就是转成Date,调用Date.before或者Date.after判断.

如何获取时间的年月日时分秒呢?

/**
* 获取年
* @param date
* @return
*/
public static int getYear(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.YEAR);
}

/**
* 获取月
* @param date
* @return
*/
public static int getMonth(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MONTH)+1;
}

/**
* 获取天
* @param date
* @return
*/
public static int getDay(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_MONTH);
}

/**
* 获取时
* @param date
* @return
*/
public static int getHour(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.HOUR_OF_DAY);
}

/**
* 获取分
* @param date
* @return
*/
public static int getMinute(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MINUTE);
}


注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1

注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1

注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  String long Date