String—>Date
String dateString = "2012-12-06 "; try {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");Date date = sdf.parse(dateString); } catch (ParseException e) {System.out.println(e.getMessage()); }
/*** 字符串转换到时间格式* @param dateStr 需要转换的字符串* @param formatStr 需要格式的目标字符串 举例 yyyy-MM-dd* @return Date 返回转换后的时间* @throws ParseException 转换异常*/private Date parseDate(String strFormat, String dateValue) {if (dateValue == null)return null;if (strFormat == null)strFormat = "yyyyMMdd";DateFormat dateFormat = new SimpleDateFormat(strFormat);Date date = null;try {date = dateFormat.parse(dateValue);} catch (ParseException pe) {date = null;}return date;}
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;import org.apache.commons.lang.StringUtils;/*** 日期Util类* * @author calvin*/ public class DateUtil {private static String defaultDatePattern = "yyyy-MM-dd ";/*** 获得默认的 date pattern*/public static String getDatePattern(){return defaultDatePattern;}/*** 返回预设Format的当前日期字符串*/public static String getToday(){Date today = new Date();return format(today);}/*** 使用预设Format格式化Date成字符串*/public static String format(Date date){return date == null ? " " : format(date, getDatePattern());}/*** 使用参数Format格式化Date成字符串*/public static String format(Date date, String pattern){return date == null ? " " : new SimpleDateFormat(pattern).format(date);}/*** 使用预设格式将字符串转为Date*/public static Date parse(String strDate) throws ParseException{return StringUtils.isBlank(strDate) ? null : parse(strDate,getDatePattern());}/*** 使用参数Format将字符串转为Date*/public static Date parse(String strDate, String pattern)throws ParseException{return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat(pattern).parse(strDate);}/*** 在日期上增加数个整月*/public static Date addMonth(Date date, int n){Calendar cal = Calendar.getInstance();cal.setTime(date);cal.add(Calendar.MONTH, n);return cal.getTime();}public static String getLastDayOfMonth(String year, String month){Calendar cal = Calendar.getInstance();// 年 cal.set(Calendar.YEAR, Integer.parseInt(year));// 月,因为Calendar里的月是从0开始,所以要-1// cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);// 日,设为一号cal.set(Calendar.DATE, 1);// 月份加一,得到下个月的一号cal.add(Calendar.MONTH, 1);// 下一个月减一为本月最后一天cal.add(Calendar.DATE, -1);return String.valueOf(cal.get(Calendar.DAY_OF_MONTH));// 获得月末是几号 }public static Date getDate(String year, String month, String day)throws ParseException{String result = year + "- "+ (month.length() == 1 ? ("0 " + month) : month) + "- "+ (day.length() == 1 ? ("0 " + day) : day);return parse(result);} }
Date—>String
/*** Date转String* * @param count* @return*/@SuppressWarnings("unused")private String dateToString(Date date) {return (new SimpleDateFormat("yyyyMMdd")).format(date);}
private Date addDays(Date date,int n){Calendar cal=Calendar.getInstance();cal.setTime(date); //cal.add(Calendar.DATE, n);// n为增加的天数,可以改变的 cal.add(Calendar.DAY_OF_YEAR, n); //小时加1 date = cal.getTime(); return date;}/*** 根据一个日期,返回是星期几的字符串** @param date* @return*/private String getWeek(Date date) {Calendar c = Calendar.getInstance();c.setTime(date);// int hour=c.get(Calendar.DAY_OF_WEEK);// hour中存的就是星期几了,其范围 1~7// 1=星期日 7=星期六,其他类推return new SimpleDateFormat("EEEE").format(c.getTime());}