在JAVA中如何将String转换成Datetime类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中如何将String转换成Datetime类型相关的知识,希望对你有一定的参考价值。

java代码:

String strDate  = "2017-03-27T13:11:50.657";

strDate = strDate.replaceAll("T", " ");

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

Date dateTime;

try

dateTime = formatter.parse(strDate);

System.out.println(formatter.format(dateTime));

catch (ParseException e)

// TODO Auto-generated catch block

e.printStackTrace();

资料拓展:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论

参考技术A (1)
Date转换为Datetime

Datetime在java数据库中对应的是Timestamp,转换如下:

[java] view
plaincopyprint?

//java.util.Date转换为Timestamp

Date date = new Date();

Timestamp timestamp = new Timestamp(date.getTime()); //2013-01-14 22:45:36.484
//java.util.Date转换为Timestamp
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime()); //2013-01-14 22:45:36.484

(2) String转换为Date

[java] view
plaincopyprint?

//String转换为java.util.Date

String str = "2013-01-14";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = null; //初始化date

try

date = sdf.parse(str); //Mon Jan 14 00:00:00 CST 2013

catch (ParseException e)

e.printStackTrace();


//String转换为java.util.Date
String str = "2013-01-14";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null; //初始化date
try
date = sdf.parse(str); //Mon Jan 14 00:00:00 CST 2013
catch (ParseException e)
e.printStackTrace();


(3)
Date转换为String

[java] view
plaincopyprint?

//java.util.Date转换为String

Date date = new Date();

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");

String str = format.format(date); //2013-01-14
//java.util.Date转换为String
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String str = format.format(date); //2013-01-14

(4)
String转化为java.sql.Date

转换为java.sql.Date目的是要对数据库进行操作

[java] view
plaincopyprint?

//String转换为java.sql.Date

String str = "2013-01-14";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

java.sql.Date sdate = null; //初始化

try

java.util.Date udate = sdf.parse(str);

sdate = new java.sql.Date(udate.getTime()); //2013-01-14

catch (ParseException e)

e.printStackTrace();

参考技术B 你说的Datetime应该是数据库中的吧?
Datetime在java类中对应的是Timestamp ,用下面的方法转成Timestamp 就可以往数据库中茶了,但是string的时间格式要符合我写的那种

String s = "2008-06-13 09:25:12";
Timestamp time = Timestamp.valueOf(s);
System.out.println(time);
参考技术C (1)
Date转换为Datetime
Datetime在java数据库中对应的是Timestamp,转换如下:
[java]
view
plaincopyprint?
//java.util.Date转换为Timestamp
Date
date
=
new
Date();
Timestamp
timestamp
=
new
Timestamp(date.getTime());
//2013-01-14
22:45:36.484
//java.util.Date转换为Timestamp
Date
date
=
new
Date();
Timestamp
timestamp
=
new
Timestamp(date.getTime());
//2013-01-14
22:45:36.484
(2)
String转换为Date
[java]
view
plaincopyprint?
//String转换为java.util.Date
String
str
=
"2013-01-14";
SimpleDateFormat
sdf
=
new
SimpleDateFormat("yyyy-MM-dd");
Date
date
=
null;
//初始化date
try

date
=
sdf.parse(str);
//Mon
Jan
14
00:00:00
CST
2013

catch
(ParseException
e)

e.printStackTrace();

//String转换为java.util.Date
String
str
=
"2013-01-14";
SimpleDateFormat
sdf
=
new
SimpleDateFormat("yyyy-MM-dd");
Date
date
=
null;
//初始化date
try

date
=
sdf.parse(str);
//Mon
Jan
14
00:00:00
CST
2013

catch
(ParseException
e)

e.printStackTrace();

(3)
Date转换为String
[java]
view
plaincopyprint?
//java.util.Date转换为String
Date
date
=
new
Date();
DateFormat
format
=
new
SimpleDateFormat("yyyy-MM-dd");
String
str
=
format.format(date);
//2013-01-14
//java.util.Date转换为String
Date
date
=
new
Date();
DateFormat
format
=
new
SimpleDateFormat("yyyy-MM-dd");
String
str
=
format.format(date);
//2013-01-14
(4)
String转化为java.sql.Date
转换为java.sql.Date目的是要对数据库进行操作
[java]
view
plaincopyprint?
//String转换为java.sql.Date
String
str
=
"2013-01-14";
SimpleDateFormat
sdf
=
new
SimpleDateFormat("yyyy-MM-dd");
java.sql.Date
sdate
=
null;
//初始化
try

java.util.Date
udate
=
sdf.parse(str);
sdate
=
new
java.sql.Date(udate.getTime());
//2013-01-14

catch
(ParseException
e)

e.printStackTrace();
参考技术D 好似没有可以直接利用的函数,自己编一个函数吧,可以分析其中的某些字符串,然后根据字符串内容赋值给时间。本回答被提问者采纳

在java中如何把list转换成List<>

我通过这条DAOSupportFactory.getInstance().getJdbcDAOSupport().queryForList(sql)查询到一个list,但是我想把这个list转换成List<Event>,请问要怎么转?

Java在JDK1.4之后,提供了泛型功能,可以在运行之前确定运行类型,同样也可以运用到集合当中,通过泛型,支持在集合里面在套用集合,代码:
ArrayList<ArrayList<String>> listall = new ArrayList<ArrayList<String>>();
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
listall.add(list1);
listall.add(list2);
listall.add(list3);
这样就可以把3个list放到一个list里面。
参考技术A list在声明的时候就要求给定范型的,当你不给定是默认为Object类型的范型,而且给定不同的范型的list也是不同的数据类型。 参考技术B 估计是queryForList返回的List里面包含的对象不是Event,而是其它的对象。
如果不这样就不能强行的cast过去。
参考技术C 你可以在new List的时候直接就new成泛型的List,jdk要1.5以上的就支持泛型本回答被提问者和网友采纳 参考技术D List<Event> event= (Event)DAOSupportFactory.getInstance().getJdbcDAOSupport().queryForList(sql)

以上是关于在JAVA中如何将String转换成Datetime类型的主要内容,如果未能解决你的问题,请参考以下文章

java中数组如何转换成List?

在java中,如何将byte转为string

java 如何将String 转换成 枚举

java怎么将string转换成byte数组

mfc中,如何将CString 转换成 string

在java中如何把list转换成List<>