java怎么获取当前系统时间并写进mysql数据库,如下:获取得到的时间跟系统不一样,不知道为啥?求指教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么获取当前系统时间并写进mysql数据库,如下:获取得到的时间跟系统不一样,不知道为啥?求指教相关的知识,希望对你有一定的参考价值。

Date data= new Date(0);
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm");
String time=sdf.format(data);
Session session1 = sessionFactory.openSession();
message1.setTime(time);
session1.save(message1);
session1.close();
return SUCCESS;

参考技术A new Date(0)改成new Date()

new Date()是系统时间,
Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
它的实际代码是:
public Date()

this(System.currentTimeMillis()); //可以看出他也是调用的Date(long date)构造函数,传入的参数是System.currentTimeMillis()),从1970..到现在的毫秒数


new Date(0)是距离1970年1月1日 n毫秒的日期,api说明:
Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
参考技术B Date data= new Date(0);

换掉 别加参数 。。。。。。。。。。。。。
参考技术C Date data= new Date(0);

把不要用参数,直接Date data= new Date();试试追问

我写的是j2ee代码,由jsp页面form转到action中,如果不设参数,就有错误

追答

java.util.Date data= new java.util.Date();这个有无参的构造方法,你用的不会是java.sql.Date吧

本回答被提问者采纳

Mysql获取系统时间,年,月,日

 

 

Mysql数据库中获取系统时间,年,月,日单个获取

获取当前系统日期时间:select SYSDATE() AS 系统日期时间;

 

获取当前系统年月日:select current_date AS 年月日;

 

获取当前系统年份:select year(CURRENT_DATE) AS 年 ;

 

获取当前系统月份:select month(CURRENT_DATE) AS 月;

 

获取当前系统日:select day(CURRENT_DATE) AS 日;

 

获取当前系统时间:select time(SYSDATE()) AS 系统时间;

 

获取当前系统小时:select HOUR(SYSDATE()) AS 系统小时;

 

获取当前系统分钟:select MINUTE(SYSDATE()) AS 系统分钟;

 

获取当前系统秒:select SECOND(SYSDATE()) AS 系统秒;

 

获取当前系统毫秒:select MICROSECOND(SYSDATE()) AS 系统秒;

 

Mysql数据库中获取系统时间,年,月,日单个获取

Mysql数据库中获取系统时间,年,月,日

select curdate(); --获取当前日期

1、利用TO_DAYS函数

select to_days(now()) - to_days(‘19930908‘)

2、利用DATEDIFF函数

select datediff(now(),‘19930908‘)

参数1 - 参数2 等于间隔天数

select last_day(curdate()); --获取当月最后一天。

select DATE_ADD(curdate(),interval -day(curdate())+1 day); --获取本月第一天

select date_add(curdate()-day(curdate())+1,interval 1 month); -- 获取下个月的第一天

select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --获取当前月的天数

select curtime()  ---获取当前系统 time

select sysdate()、current_timestamp()、now()、localtime()、localtimestamp() ----获取当前系统 日期+时间

 

Mysql数据库中计算两个日期之间的时间差

1、利用TO_DAYS函数

select to_days(now()) - to_days(‘19930908‘)

2、利用DATEDIFF函数

select datediff(now(),‘19930908‘)

参数1 - 参数2 等于间隔天数

3、利用TIMESTAMPDIFF函数

计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现。

函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。该参数具体释义如下:

FRAC_SECOND   表示间隔是毫秒SECOND   秒MINUTE   分钟HOUR   小时DAY   天WEEK   星期MONTH   月QUARTER   季度YEAR   年

例如:

#计算两日期之间相差多少周

select timestampdiff(week,‘2011-09-30‘,‘2015-05-04‘);

#计算两日期之间相差多少天

select timestampdiff(day,‘2011-09-30‘,‘2015-05-04‘);

Mysql数据库中计算两个日期之间的时间差

TIMESTAMPDIFF,(如果当期时间和之前时间的分钟数相比较。大于1天,即等于1;小于1天,则等于0)
  1. select TIMESTAMPDIFF(DAY,‘2016-11-16 10:13:42‘,NOW());
 
DATEDIFF,(只按2016-11-16计算,不会加小时分钟数,按天计算)
  1. select DATEDIFF(NOW(),‘2016-11-16 17:10:52‘);

mysql分别获取已有数据date中的年月日(单个提取)

select YEAR(DATE)  from test;  //获取年
select day(DATE)  from test; //获取日
select month(DATE)  from test;  //获取月

select DATE(CURDATE()) //获取日期

select CONCAT(YEAR(CURDATE()),‘-‘,‘01‘) //获取本年第一月

mysql分别获取已有数据date中的年月日(单个提取)

select left(signDate,7) as date from tablename 

select date_format(日期字段,‘%Y-%m‘) as ‘日期‘ from 表

以上是关于java怎么获取当前系统时间并写进mysql数据库,如下:获取得到的时间跟系统不一样,不知道为啥?求指教的主要内容,如果未能解决你的问题,请参考以下文章

怎么在一个jsp页面里获取系统时间

java中怎么把当前获取的系统日期和时间添加 数据库中(具体代码)拜托啦

JAVA中怎样获取数据库中查询出来的日期

java怎么获取当前系统时间 毫秒数

Android 怎么获取当前的时间戳

mysql 怎么在插入数据的时候 获取当前时间然后把时间存成毫秒在数据库然后查询数据的时候 查询到的是时间