如何将字符串转换为时间格式并添加两个小时
我在项目中有以下要求。
我有一个按名称输入字段,用户输入的格式为.我需要为字段中的用户输入添加两个小时。我怎么能这样做。startDate
YYYY-MM-DD HH:MM:SS
startDate
提前致谢
我在项目中有以下要求。
我有一个按名称输入字段,用户输入的格式为.我需要为字段中的用户输入添加两个小时。我怎么能这样做。startDate
YYYY-MM-DD HH:MM:SS
startDate
提前致谢
您可以使用 SimpleDateFormat 将字符串转换为 Date。在那之后,你有两个选择,
从该日期对象获取以毫秒为单位的时间,并添加两个小时,例如(2 * 60 * 60 * 1000)
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// replace with your start date string
Date d = df.parse("2008-04-16 00:05:05");
Calendar gc = new GregorianCalendar();
gc.setTime(d);
gc.add(Calendar.HOUR, 2);
Date d2 = gc.getTime();
或
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// replace with your start date string
Date d = df.parse("2008-04-16 00:05:05");
Long time = d.getTime();
time +=(2*60*60*1000);
Date d2 = new Date(time);
请查看这些教程。
作为Joda Time库的粉丝,以下是使用Joda DateTime
的方法:
import org.joda.time.format.*;
import org.joda.time.*;
...
String dateString = "2009-04-17 10:41:33";
// parse the string
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dateTime = formatter.parseDateTime(dateString);
// add two hours
dateTime = dateTime.plusHours(2); // easier than mucking about with Calendar and constants
System.out.println(dateTime);
如果你仍然需要在此转换之前/之后使用对象,Joda API 提供了一些简单的 toDate()
和 toCalendar()
方法,以便于翻译。java.util.Date
DateTime
与Java Date/Calendar API相比,Joda API提供了更多便利。