日期获取

假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下
select * from product where add_time = ‘2013-01-12’
对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是:2013-01-12 23:23:56这种格式你就悲剧了,这是你就可以使用DATE()函数用来返回日期的部分,所以这条sql应该如下处理:
代码如下
select * from product where Date(add_time) = ‘2013-01-12’

DAYNAME(date)
返回date的星期名字。

MONTHNAME(date)
返回date的月份名字。
–日期时间数据类型及函数

-给一个时间加上一段时间
select DATEADD (year,2,‘2006-01-01’) --显示2008-01-01
–求时间差(年,月,天,时,分……都行)
select DATEDIFF (YEAR ,‘2011-07-01’,‘2014-07-01’)–显示3年.
select DATEDIFF (DAY,‘2011-07-01’,‘2014-02-03’)–显示948天.
–提取年,月,日,时,分,秒,星期等
select DATENAME (weekday ,‘2014-11-02’)–显示’天’是.'月’是.'年’是.返回值是nvarchaer
select DATEPART(WEEKDAY ,‘2014-11-02’)–作用同上,返回值int
select YEAR (‘2014-11-02’)–提取年:2014, month 月,day 天.注意格式.作用等同DATEPART
select GETDATE()as 当前时间 --获取数据库当前时间!
select ISDATE(‘2013-06-31’)–判断日期格式是否正确,对:1,错:0.
–常用ISDATE ,GETDATE ,DATEPART ,

java.util.Date 就是在除了SQL语句的情况下面使用
java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分
它都有getTime方法返回毫秒数,自然就可以直接构建
java.util.Date d = new java.util.Date(sqlDate.getTime());


java.util.Date 是 java.sql.Date 的父类(注意拼写)
前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他
后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date
转换是
java.sql.Date date=new Java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
反过来是一样的


继承关系:java.lang.Object --》 java.util.Date --》 java.sql.Date
具体的转换关系就是java.util.Date d=new java.util.Date (new Java.sql.Date());


sql.date,一般是在数据库的时间字段,util.date一般是日常日期字段


java.sql.Date主要是用于sql中的!
而java.util.Date用语一般的环境下都行!


SimpleDateFormat f=new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());
System.out.println(utilDate.getYear());

这里所有时间日期都可以被SimpleDateFormat格式化format()

f.format(stp);f.format(sTime);f.format(sqlDate);f.format(utilDate)

java.sql.Date sqlDate=java.sql.Date.valueOf(“2005-12-12”);

   utilDate=new java.util.Date(sqlDate.getTime());

另类取得年月日的方法:

import java.text.SimpleDateFormat;

import java.util.*;

java.util.Date date = new java.util.Date();

//如果希望得到YYYYMMDD的格式

SimpleDateFormat sy1=new SimpleDateFormat(“yyyyMMDD”);

String dateFormat=sy1.format(date);

//如果希望分开得到年,月,日

SimpleDateFormat sy=new SimpleDateFormat(“yyyy”);

SimpleDateFormat sm=new SimpleDateFormat(“MM”);

SimpleDateFormat sd=new SimpleDateFormat(“dd”);

String syear=sy.format(date);

String smon=sm.format(date);

String sday=sd.format(date);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值