java mysql 时间处理_java Date和数据库中各种时间的处理

在开发web程序的时候,数据库的设计避免不了要设置有关于时间存储的字段。这时候需要通过java的API进行时间字段的存入。

一、mysql数据库为例子

如mysql数据库中的Date、DateTime、TimeStamp、Time类型

1、Date:没有时间部分。以YYYY-MM-DD格式显示。支持的范围是'1000-01-01'到'9999-12-31'。需要3字节。

2、DateTime:有日期和时间部分。以YYYY-MM-DD HH:MM:SS格式显示。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。需要8字节。

3、Time:表示一天中的时间。以HH:MM:SS格式显示。支持的范围是'00:00:00'到'23:59:59'。

4、TimeStamp:默认情况下是使用当前的时间。以YYYY-MM-DD HH:MM:SS格式显示。需要4字节。

注意:

(1) 在书写sql语句的时候,注意写入日期字段的时候用 ' ' 进行引入。如:values( ' timeOne ' )

(2) 在日期的输入格式有很多种。如常用的"yyyy年MM月dd日  HH时mm分ss秒"、"yyyy-MM-dd HH:mm:ss"、"yyyy/MM/dd HH:mm:ss"

二、各种Date之间的转换

1、获取当前系统时间和设置输出格式

Date date = newDate();//设置日期格式

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String format=simpleDateFormat.format(date);

System.out.println(format);//输出格式:2020-02-13 10:30:44

2、String转为Date

String time = "2020-02-13 10:30:44";

SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date= null;try{

date= simpleDateFormat.parse(time);//转为Date

}catch(ParseException e) {

e.printStackTrace();

}

System.out.println(date);//Thu Feb 13 10:30:44 CST 2020

3、String转为sql包中的Date

String str = "2020-02-13";

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

java.sql.Date sqlDate= null;//sql包中的Date

try{

java.util.Date utildate=simpleDateFormat.parse(str);

sqlDate= newjava.sql.Date(utildate.getTime());

}catch(ParseException e) {

e.printStackTrace();

}

System.out.println(sqlDate);//转换为 sql包中的Date 2020-02-13

4、Date转为String

Date date = newDate();

SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String str=simpleDateFormat.format(date);

System.out.println(str);//输出格式 2020-02-13 10:38:10

5、Date转为Datetime/Timestamp

Date date = newDate();long time =date.getTime();

Timestamp timestamp= newTimestamp(time);

System.out.println(timestamp);//2020-02-13 10:47:40.349

6、util.Date转换为sql.Date

//util.Date

Date date = newDate();long longTime = date.getTime(); //1581562292229//sql.Date

java.sql.Date sDate = newjava.sql.Date(longTime);

System.out.println(sDate);//2020-02-13

System.out.println(longTime);


版权声明:本文为weixin_31445091原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。