在java中如何实现把String类型转化为Time类型,例如:hh:mm:ss格式

要的不是Util.Date类型值,要的是java.sql.Time 类型值。是实现把从.html的页面中获取text中的参数值,即String类型的值,传到Servlet中后转化为java.sql.Time类型值,为的是存到数据库中相对应的Time类型的值。而在Servlet代码中必须有个强制转化。我问的就是这个转化过程。 departure_time是从.html页面中用户输入的数值的相对应的形参。在Servlet代码中默认departure_time=request.getParameter中的departure_time是String类型的。我想让它变成java.sql.Time类型的
2026年09月27日 02:39
有5个网友回答
网友(1):

java中实现把String类型的时间转换成Time类型的时间可以使用SimpleDateFormat来转换。
具体事例代码实现如下:
public class Demo2 {
public static void main(String[] args) {
String str = "2015-01-01 12:12:12";//定义一个字符型的时间
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = (Date) simpleDateFormat.parse(str);//将这个字符型的时间转换成Date型的时间
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date.toString());
}
}
SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出。

网友(2):

public class SQLDateTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
DateFormat df = new SimpleDateFormat("hh:mm:ss");// 拼写有误,应为MM
Date date = new Date(0);
try {
date = new Date(df.parse("12:56:15").getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.err.println(date);
//打印结果是1970-01-01(因为之规定了了时分秒,没有规定年月日
//因此日期显示为默认日期,也就是new Date().getTime为0的那天
//sql.Date的toString只显示年月日..
}
}

也就是说对于年月日只要规定好格式..作为SimpleDateFormat构造函数的参数.
比如题目中的hh:mm:ss,或任意时间年月日格式.均可通过代码中的方法还原其为Date类型.

注意:df.parse("12:56:15")得到的并不是sql.Date类型,而是util.Date,因此这里用一个getTime方法取得long值,然后用long值构造sql.Date对象..

网友(3):

利用SimpleDateFormat类。
1、日期转化为固定字符串
SimpleDateFormat("dd-MM-yyyy hh:mm:ss").format(new Date());
引号里面可以随意写,比如:只写dd-MM-yyyy,而不写日期,或者是些时间hh:mm:ss。但是这些字母是固定的。

2、字符串转化为日期:

SimpleDateFormat("dd-MM-yyyy hh:mm:ss").parse(timeStr);

网友(4):

Time.valueOf(String s)

Converts a string in JDBC time escape format to a Time value.

网友(5):

Time.valueOf(String s)