java Date时间的各种转换方式和Mysql存时间类型字段的分析

一:各种Date之间的转换方法

public class TimeTest {

	public static void main(String[] args) {
		Date date = new Date();   

//		一、获取当前系统时间和日期并格式化输出:
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String dateTime = df.format(date); // Formats a Date into a date/time string.
		System.out.println(dateTime);  // 2017-09-24 23:33:20

//		二、Date转换为Datetime
		long longTime = date.getTime();
		Timestamp timestamp = new Timestamp(longTime);
		System.out.println(timestamp); // 2017-09-24 23:33:20.655

//		三、String转换为Date
		String strTime = "2017-09-24 12:00:01";
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date1 = null;
		try {
			date1 = sdf1.parse(strTime);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(date1); // Sun Sep 24 12:00:01 CST 2017

//		四、Date转换为String
		Date date2 = new Date();
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String str1 = format.format(date2);
		System.out.println(str1); // 2017-09-24

//		五、String转化为java.sql.Date
		String str2 = "2017-12-01";
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
		java.sql.Date sDate = null;
		try {
			java.util.Date date3 = sdf2.parse(str2);
			sDate = new java.sql.Date(date3.getTime());
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(sDate); // 2017-12-01

	}

}

二:MySQL数据库中的Date,DateTime,TimeStamp和Time类型

  DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以‘YYYY-MM-DD HH:MM:SS‘格式显示DATETIME值,支持的范围是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)

  DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以‘YYYY-MM-DD‘格式显示DATE值,支持的范围是‘1000-01-01‘到‘9999-12-31‘。

  TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

  TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是‘00:00:00‘到‘23:59:59‘。

创建表(MySql)

 

datetime和timestamp的区别:
1.datetime 的日期范围比较大;如果有1970年以前的数据还是要用datetime.但是timestamp 所占存储空间比较小。
2.timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。

3.timestamp比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响.

使用一个常用的格式集的任何一个,你可以指定DATETIME、DATE和TIMESTAMP值:
‘YYYY-MM-DD HH:MM:SS‘或‘YY-MM-DD HH:MM:SS‘格式的一个字符串,允许一种"宽松"的语法:任何标点可用作在日期部分和时间部分之间的分隔符。例如,‘98-12-31 11:30:45‘、‘98.12.31 11+30+45‘、‘98/12/31 11*30*45‘和‘[email protected]@31 11^30^45‘是等价的。

三:mysql中存入timestamp 类型时间需要java将时间转为其数据库对应的数据格式 

Date date=new Date();                             
         SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
         String date1=temp.format(date);  
         Date date2=temp.parse(date1);

时间: 2024-12-12 18:34:05

java Date时间的各种转换方式和Mysql存时间类型字段的分析的相关文章

mysql 时间类型字段的分析

日期类型                存储空间               日期格式                                           日期范围------------      ---------                ---------------------                             -----------------------------------------datetime         8 bytes  

往MySQL数据库datetime类型字段中插入当前时间

代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb.append(" filename, "); sb.append(" content,"); sb.append(" addtime "); sb.append(" ) values ("); sb.append(" '

mysql 中 时间和日期函数

原文链接: mysql 中 时间和日期函数 - redfox - 博客园 http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html ----------------------------------------------------------------------------------------------------------------------------------------------------

mysql中时间日期函数

转自:mysql 中 时间和日期函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+| now()               |+---------------------+| 2008-08-08 22:20:46 |+---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

mysql的时间函数

from_unixtime()是MySQL里的时间函数 date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 后面的 '%Y%m%d' 主要是将返回值格式化 例如: mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' )   ->20071120 mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) ->2007年11月20 UNIX_

mysql日期时间类型总结

MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31

mysql 中时间和日期函数应用

一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2015-01-22 22:20:46 | +---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_

(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间 注:java.util.Date是java.sql.Date的父类 Date time= new java.sql.Date(newjava.util.Date().getTime()); 第二种: java用PreparedS

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间 注:java.util.Date是java.sql.Date的父类 Date time= new java.sql.Date(newjava.util.Date().getTime()); 第二种: java用PreparedS