java中时间如何转换成日期。 如现在有个固定时间startTime:2011-03-01 23:59:59 要求出向后推迟一小时时 20

我想法是将string类型startTime转成Date,再Date转为Calendar。calendar.add(Calendar.HOUR_OF_DAY,1);//1... 我想法是将string 类型 startTime 转成Date,再Date转为Calendar。
calendar.add(Calendar.HOUR_OF_DAY, 1);//1小时后
String strEndDate=new SimpleDateFormat("yyyy年MM月dd日HH时").format(calendar.getTime());
现在卡在了Date转为Calendar上。希望有人能帮我想个办法求出固定时间推迟一小时后的时间
展开
 我来答
HONG仔
2011-01-14 · TA获得超过433个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:332万
展开全部
楼主,我提供一个我自己一直在用,很实用的一个日期转换类给你吧。你创建一个工具类,使用方法也很简单的。

工具类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")

具体的格式根据输出样式字符串的定义。

楼主我在做系统调度的时候,经常使用到时间的计算,我也是使用这个实用的时间转换类,希望这个类会带给楼主帮助!

谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-01-14 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
用这个
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贯真
2011-01-14 · TA获得超过2698个赞
知道大有可为答主
回答量:1022
采纳率:0%
帮助的人:1080万
展开全部
Date转为Calendar有问题吗?

Calendar cal = Calendar.getInstance();
cal.setTime(startTimeDate);

这样转试试?startTimeDate改为你的Date形startTime
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式