簡單的一個小問題,在項目中遇到了,我感覺很實用,便記錄了下來。2014年5月15日。
/**
* 根據日期字符串判斷當月第幾周
* @param str
* @return
* @throws Exception
*/
public static int getWeek(String str) throws Exception{
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//第幾周
int week = calendar.get(Calendar.WEEK_OF_MONTH);
//第幾天,從週日開始
int day = calendar.get(Calendar.DAY_OF_WEEK);
return week;
}
上面是我項目中遇到的,同時也記錄一些時間格式的轉換問題:
1.Calendar 轉化 String
Calendar calendat = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());
2.String 轉化Calendar
String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
3.Date 轉化String
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());
4.String 轉化Date
String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str);
5.Date 轉化Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());
6.Calendar轉化Date
Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();
7.String 轉成 Timestamp
Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");
8.Date 轉 TimeStamp
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);