一直都想弄个自己的博客来秀一下,也是想记录一些工作的点点滴滴,今天开始自己的博客生涯,希望自己能够坚持下去,加油!话不多说,接触java不久,最近多次遇到时间的转换和计算,今天在此做个总结:
1.Date类和Calender类
Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身。
Calendar用于将某一日期放到历法中的互动——时间和年、月、日、星期、上午、下午、夏令时等这些历法规定互相作用关系和互动。Calendar本身代表公历的一个简化缩水版。
Date类常用方法:
Date date0 = new Date(); Date date1 = new Date(time);
通过get方法可以获取具体的年、月、日、时间戳等信息。注意getYear()方法得到的并不是获取当前年份,而是获取到和1900年的差值。
Calender类常用方法:
Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime();
通过Calendar 方法获取一个Date 的实例。
Calendar 方法获取年月日的方法:
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 seconds =calendar.get(Calendar.SECOND);
2.时间与时间戳相互转换
时间转换为时间戳:
/* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = simpleDateFormat.parse(s); long ts = date.getTime(); res = String.valueOf(ts); return res; }
时间戳转换为时间:
/* * 将时间戳转换为时间 */ public static String stampToDate(String s){ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long lt = new Long(s); Date date = new Date(lt); res = simpleDateFormat.format(date); return res; }
3.关于时间的计算
3.1获取当前时间字符串
/** * 获取现在时间 * * @return返回字符串格式 yyyy-MM-dd HH:mm:ss */ public static String getStringDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); return dateString; }
3.2给定一个日期型字符串,返回加减n天后的日期型字符串
public String nDaysAfterOneDateString(String basicDate,int n) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date tmpDate = null; try { tmpDate = df.parse(basicDate); } catch(Exception e){ // 日期型字符串格式错误 } long nDay=(tmpDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000); tmpDate.setTime(nDay); return df.format(tmpDate); }
3.3 给定一个日期,返回加减n天后的日期
public Date nDaysAfterOneDate(Date basicDate,int n) { long nDay=(basicDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000); basicDate.setTime(nDay); return basicDate; }
3.4计算两个日期相隔的天数
public int nDaysBetweenTwoDate(String firstString,String secondString) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date firstDate=null; Date secondDate=null; try { firstDate = df.parse(firstString); secondDate=df.parse(secondString); } catch(Exception e) { // 日期型字符串格式错误 } int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000)); return nDay; }
时间: 2024-10-14 14:03:33