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上。希望有人能帮我想个办法求出固定时间推迟一小时后的时间 展开
calendar.add(Calendar.HOUR_OF_DAY, 1);//1小时后
String strEndDate=new SimpleDateFormat("yyyy年MM月dd日HH时").format(calendar.getTime());
现在卡在了Date转为Calendar上。希望有人能帮我想个办法求出固定时间推迟一小时后的时间 展开
展开全部
楼主,我提供一个我自己一直在用,很实用的一个日期转换类给你吧。你创建一个工具类,使用方法也很简单的。
工具类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")
具体的格式根据输出样式字符串的定义。
楼主我在做系统调度的时候,经常使用到时间的计算,我也是使用这个实用的时间转换类,希望这个类会带给楼主帮助!
谢谢!
工具类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
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
Calendar cal = Calendar.getInstance();
cal.setTime(startTimeDate);
这样转试试?startTimeDate改为你的Date形startTime
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询