首先说明两点:
1、java.sql.Date是继承了java.util.Date。
2、java.util.Date可以在任意情况下使用,java.sql.Date只针对SQL语句使用并且只包含日期而没有时间部分。
java.sql.Date不好用,所以根本没必要使用java.sql.Date,直接用java.util.Date就行,一样可以跟数据库字段关联起来。
获取系统时间的三种方式:
1、new java.util.Date()
2、Calendar.getInstance().getTime()
3、直接在写sql的时候用now(),例如insert into t_user(id, name, createTime) values ('xx', 'xxx', now())
select now();
------------------------------------
java.sql.Date是为了配合SQL DATE而设置的数据类型。“规范化”的java.sql.Date只包含年月日信息,时分秒毫秒都会清零。格式类似:YYYY-MM-DD。当我们调用 ResultSet的getDate()方法来获得返回值时,java程序会参照"规范"的java.sql.Date来格式化数据库中的数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。
-----------------------------------------
如果你要获取数据库里面的时分秒的话 只有用字符串读取时间字段 然后转换~就可以了 没有必要非用java.sql.Date。不是么?
java.util.Date date = null;
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
String time=sim.format(new java.util.Date());//系统时间
try {
date = sim.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Date dateTime = new java.sql.Date(date.getTime());//sql类型
java.sql.Time dateTime2 = java.sql.Time.valueOf(time.substring(11));
System.out.println("sql.date:" + dateTime);
System.out.println("sql.time:" + dateTime2);
请问如何获取sql.date的系统时间
sql读取系统日期和时间的方法如下:
--获取当前日期(如:yyyymmdd)
select CONVERT (nvarchar(12),GETDATE(),112)
--获取当前日期(如:yyyymmdd hh:MM:ss)
select GETDATE()
--获取当前日期(如:yyyy-mm-dd)
Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate())
--获取当前日期(如:yyyy/mm/dd)
select DATENAME(YEAR,GETDATE())+'/'+DATENAME(MONTH,GETDATE())+'/'+DATENAME(DAY,GETDATE())
--获取几种日期
select DATENAME(YEAR,GETDATE()) --年份(YYYY)
select DATENAME(YY,GETDATE())
select DATENAME(MM,GETDATE()) --月份
select DATENAME(DD,GETDATE()) --日期
select dateName(hh,getdate()) --获取小时
select DATENAME(MI,GETDATE()) --获取分钟
select DATENAME(SECOND,GETDATE()) --获取秒
select DATENAME(WEEK,GETDATE()) --获取当前星期(周)是这一年中的第几个星期(周)
select DATENAME(WEEKDAY,GETDATE()) --星期几
找了无数人,都没说清楚?就这么一个问题还搞不定?那是你找的人不是这个专业的!
import java.util.*;
public class Test {
public static void main(String[] args) {
Date d = new Date();
String s = String.format("%tF % System.out.println(s);
}
}