楼主,我提供一个我自己一直在用,很实用的一个日期转换类给你吧。你创建一个工具类,使用方法也很简单的。
工具类DateFormater源代码:
public class DateFormater {
public static String dateToString(Date date,String filterd){
SimpleDateFormat sf=new SimpleDateFormat(filterd);
return sf.format(date);
}
public static Date dateToDate(Date date,String filterd){
Date result;
SimpleDateFormat sf=new SimpleDateFormat(filterd);
String date_str=sf.format(date);
try {
result = sf.parse(date_str);
return result;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static Date stringToDate(String date_str,String filterd){
Date result;
SimpleDateFormat sf=new SimpleDateFormat(filterd);
try {
result = sf.parse(date_str);
return result;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
使用范例:
楼主这个问题可以这样使用:
Date date = DateFormater.stringToDate("2011-03-01 23:59:59","yyyy-MM-dd HH:mm:ss");
date.setHour(date.getHour()+1);
这样就得到了时间推迟了一个小时的Date对象了。
直接输出本地时间格式,可以用date.toLocaleString()
按照一定格式输出,可以用DateFormater.dateToString(date,"yyyy-MM-dd")
具体的格式根据输出样式字符串的定义。
楼主我在做系统调度的时候,经常使用到时间的计算,我也是使用这个实用的时间转换类,希望这个类会带给楼主帮助!
谢谢!
用这个
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
public static void main(String[] args) throws ParseException {
String str = "2011-03-01 23:59:59";
Date time = addHoursToDate(str, 1);//hourstep为你要添加的小时数
System.out.println(time.toString());
}
private static Date addHoursToDate(String str, int hourStep) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdf.parse(str));
calendar.add(Calendar.HOUR, hourStep);
return calendar.getTime();
}
}
--------------
Wed Mar 02 00:59:59 CST 2011
Date转为Calendar有问题吗?
Calendar cal = Calendar.getInstance();
cal.setTime(startTimeDate);
这样转试试?startTimeDate改为你的Date形startTime