在最近的项目中接触的比较多的是时间类型转换问题,可能网上相关内容涉及的很多,但能真正合胃口的却是寥寥无几。借此小结了一下
Calendar是个比较好用的日历工具,很多原来属于date的属性现在都被放到了Calendar下面,举例如下:
1、获取系统当前时间,并且格式化
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
- String nowDate = df.format(new java.util.Date());
eg.Calendar mydate = Calendar.getInstance();//初始化当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date nowdate = mydate.getTime();
String now = sdf.format(nowdate);
//这里特地强调util包,因为前阵子错误使用sql包下的date,一直调试错误,刚刚纠正过来
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日EEE");
String start = df.format(startDate).toString().substring(5, 11);//eg.8月8日星期五
String now = df.format(nowdate).toString().substring(0, 11);//2008年8月8日星期五
long time = System.currentTimeMillis();
Timestamp timeNow = new Timestamp(time);
2、和星期有关的
Calendar calStart = Calendar.getInstance();
Calendar calEnd = Calendar.getInstance();
int dayOfWeek = mydate.get(Calendar.DAY_OF_WEEK);//获取星期的第一天
calStart.add(Calendar.DATE, 2 - dayOfWeek);//星期一
calEnd.add(Calendar.DATE, 6 - dayOfWeek);//星期五
java.util.Date startDate = calStart.getTime();
java.util.Date endDate = calEnd.getTime();
// startStr ,endStr 可用于数据库查询时间
String startStr = sdf.format(startDate);
String endStr = sdf.format(endDate);