Java 将当前时间插入表中
通过使用上面的代码,我试图将当前日期和时间插入表中,表中有单独的列。当我执行上述查询时,它也会在timeJava 将当前时间插入表中,java,oracle,date,time,Java,Oracle,Date,Time,通过使用上面的代码,我试图将当前日期和时间插入表中,表中有单独的列。当我执行上述查询时,它也会在timein_time字段中插入今天的日期 编辑 IN_TIME和DOV的数据类型是DATE 需要帮助 您最好使用oracle的“systimestamp”。原因是,如果java代码在一个时区运行,而oracle则在另一个时区运行。强制使用自己的时间对象可能会导致问题 你真的需要单独的字段吗?我想只要有一个时间戳就足够了。使用。这是我使用它的一种方式: java.uti
in_time
字段中插入今天的日期
编辑
IN_TIME
和DOV
的数据类型是DATE
需要帮助 您最好使用oracle的“systimestamp”。原因是,如果java代码在一个时区运行,而oracle则在另一个时区运行。强制使用自己的时间对象可能会导致问题 你真的需要单独的字段吗?我想只要有一个时间戳就足够了。使用。这是我使用它的一种方式:
java.util.Date date = new java.util.Date();
java.sql.Date today = new java.sql.Date(date.getTime()); //2012-03-23
java.sql.Time time = new java.sql.Time(date.getTime()); //02:32:46
PreparedStatement pst = null;
String queryString = "INSERT INTO PR_VISITOR(PRISONER_ID,VISITOR_NAME,FATHER_NAME,DOV,IN_TIME) VALUES (?,?,?,?,?)";
pst = connect.prepareStatement(queryString);
pst.setString(1, pr_id);
pst.setString(2, visit);
pst.setString(3, father);
pst.setDate(4, today);
pst.setTime(5, time);
int officerQuery = pst.executeUpdate();
if (officerQuery == 1) {
response.sendRedirect("/FYP3.4/prisonAdmin/visitor_out.jsp");
JOptionPane.showMessageDialog(null, "Visitor information registered !!", "Visitor Information", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Unable to Add information !!", "Visitor Information", JOptionPane.ERROR_MESSAGE);
}
由于DOV和IN_TIME是
日期
,因此不需要将日期和小时分开。Oracle中的类型date
保存日期和时间。我建议您将表更改为只有一个日期列
要插入当前时间,可以使用Oracle的sysdate
功能:
Date now = Calendar.getInstance().getTime());
DateFormat df = new SimpleDateFormat("yyyyMMdd");
String date = df.format(now);
DateFormat tf = new SimpleDateFormat("HHmmss");
String time = tf.format(now);
要格式化日期值的输出,您可以使用Java中的
SimpleDateFormat
类或Oracle中的To_char
。Oracle数据库中的date
列将始终存储一天(即2012年3月22日)和到第二天(即下午3:30:00)的时间。java.sql.Date和java.sql.Time也存储日期和时间,但以毫秒为单位
在Oracle中为日期和时间设置单独的列是没有意义的,尤其是当两个列都声明为
DATE
数据类型时。使用声明为日期的单个列将更为传统。如果您真的愿意,您可以截断一天,使其表示当前一天的午夜,然后将时间组件存储为,例如,一个从天到秒的间隔。但这通常会给系统增加相当多的复杂性,但收益很小。遵循这一点,它对java和oracle都有帮助
创建表datetime(日期时间戳)
插入日期时间值(sysdate)
要获取日期,请执行以下操作:
从datetime中选择to_char(date_time,'DD-MON-YY')
例如:2012年7月12日
要获得每月:
从datetime中选择to_char(date_time,'mm')
例:7
要获得时间:
从datetime中选择to_char(date_time,'HH24:MI:SS')
例:23:56:15
干杯 IN_TIME列的类型是什么?SYSDATE将是数据库中声明当前时间的方式。@sql_query-数据库中的DOV
和IN_TIME
列的数据类型是什么?DOV的数据类型是日期,IN_TIME也是日期如何。。??我是这样试的<代码>SimpleDataFormat日期格式=新SimpleDataFormat(“HH:mm”);java.util.Date birth=(java.util.Date)dateFormat.parse(Date.toString());java.sql.Date db=new java.sql.Date(birth.getTime())
在这种情况下,DATETIME\u列的数据类型是什么
INSERT INTO PR_VISITOR(PRISONER_ID,VISITOR_NAME,FATHER_NAME,DATETIME_COLUMN) VALUES (?,?,?,?,SYSDATE)