新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.1 获得当前日期+时间(date + time)函数:now()
成都创新互联于2013年开始,先为柳城等服务建站,柳城等地企业,进行企业商务咨询服务。为柳城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
current_timestamp() current_timestamp
localtime() localtime
localtimestamp() localtimestamp
这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。
1.2 获得当前日期+时间(date + time)函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。
2. 获得当前日期(date)函数:curdate()
其中,下面的两个日期函数等同于 curdate(): current_date(),current_date
3. 获得当前时间(time)函数:curtime()
其中,下面的两个时间函数等同于 curtime():current_time(),current_time
4. 获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp()
java中有date和datetime,mysql中也有date和datetime,这里我们来说说mysql中的date和datetime。
1 mysql中的date和datetime
1.1 DATETIME
类型可用于需要同时包含日期和时间信息的值。MySQL 以:
‘YYYY-MM-DD HH:MM:SS’
格式检索与显示 DATETIME 类型。支持的范围是:
‘1000-01-01 00:00:00’
到
‘9999-12-31 23:59:59’。
(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)
1.2 DATE
类型可用于需要一个日期值而不需要时间部分时。MySQL 以
‘YYYY-MM-DD’
格式检索与显示DATE值。支持的范围则是
‘1000-01-01’
到
‘9999-12-31’。
2 与java数据的交互
能看出来mysql中的date和datetime区别还是挺大的,date没有保存时间。但是java中的date(java.util.Date)记录的还是挺细的,日期和时间都可以记下来,那么现在问题来了,如果想在mysql中存储日期和时间,也就是用datetime,而在数据中应该如何对应呢?
我使用hibernate测了一下,发现当把mysql数据库中设置了datetime,反向工程生成的hbm.xml文件中,使用的是timestamp,如下:
property name="Publishdate" column="publishdate" type="timestamp" not-null="false" length="10" /1
反向生成java的pojo时,生成的还是Date。
由此可见对于mysql中datetime,与java中的date,如果要使二者正确交互,中间要使用timestamp。
如果要在JAVA中直接插入MySql的datetime类型,则可以使用:
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());12
再用setTimestamp()设置数据库中的“日期+时间”。
这样放入数据库的就是“yyyy-mm-dd hh:mm:ss”格式的数据。
注意,mysql中如果使用date而不是datetime是保存不下“日期+时间”的,只能保存“时间”。
要看你的需求了,如果是保存日期与时间串,可以用datetime和time字段类型,如果是保存UNIX时间戳,可以用int字段类型。
---------------------
补充回到:
设置2个字段,一个为开始时间,一个为结束时间。
程序里面用当前时间去比对数据库里面开始时间和结束时间的数据,符合结果的就是正在租用期间的数据。
SQL语句:
SELECT * FROM 租用表 WHERE 结束时间当前时间 AND 开始时间当前时间
首先你得定义一个表示时间的字段如:datetime,date,timestamp
其次是插入的数据要是时间格式如:'2016-5-6'