Java日期时间查看

Java日期时间查看,java,date,datetime,Java,Date,Datetime,您好,我正在定义一个变量,我想在其中存储日期时间输入。 我给了这个变量一种格式,它是yyyy-mm-dd hh:mm。 但在数据库中,它一直只显示这种格式yyyy-mm-dd,而不显示hh:mm 代码 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM"); java.util.Date date = sdf1.parse(rs.getString("dateMaint"));

您好,我正在定义一个变量,我想在其中存储日期时间输入。
我给了这个变量一种格式,它是
yyyy-mm-dd hh:mm
。 但在数据库中,它一直只显示这种格式
yyyy-mm-dd
,而不显示
hh:mm

代码

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
通常,仅返回仅日期的值,时间将被丢弃。因此,为了获得时间,必须使用
java.sql.TimeStamp

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
TimeStamp使用毫秒时间值构造
TimeStamp
对象。整数秒存储在基础日期值中;分数秒存储在Timestamp对象的nano字段中

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
为此,
utilDate.getTime()
用于返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
有关更多信息,请访问链接:

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
通常,仅返回仅日期的值,时间将被丢弃。因此,为了获得时间,必须使用
java.sql.TimeStamp

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
TimeStamp使用毫秒时间值构造
TimeStamp
对象。整数秒存储在基础日期值中;分数秒存储在Timestamp对象的nano字段中

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );
为此,
utilDate.getTime()
用于返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );

有关更多信息,请链接:

同时检查数据的数据库数据类型是否正确。这取决于数据库供应商,例如Oracle日期类型同时包含时间和日期,但MS SQL server日期仅表示日期部分:

还要检查数据的数据库数据类型是否正确。这取决于数据库供应商,例如Oracle日期类型同时包含时间和日期,但MS SQL server日期仅表示日期部分:

Little
m
表示分钟,而
m
表示月。。。您必须在代码中切换它们。另外,java.sql.Date没有时间部分。所以这并不奇怪。使用时间戳。当然,请为数据库列选择合适的类型。非常感谢您的回复。您建议使用时间戳吗?@user3816341请在发布前搜索堆栈溢出。这已经被讨论过很多次了。Little
m
代表分钟,而
m
代表几个月。。。您必须在代码中切换它们。另外,java.sql.Date没有时间部分。所以这并不奇怪。使用时间戳。当然,请为数据库列选择合适的类型。非常感谢您的回复。您建议使用时间戳吗?@user3816341请在发布前搜索堆栈溢出。这已经被讨论过很多次了。java.sql.date确实可以处理高达毫秒的精度,请参阅:但是,日期、时间、日期时间的实现在不同的数据库供应商中是不同的,这是对的。@GeeBee阅读了javadoc:以符合sql日期的定义,必须通过将实例关联的特定时区中的小时、分钟、秒和毫秒设置为零来“规范化”java.sql.Date实例包装的毫秒值。Javadoc还表示:public void setTime(long Date)使用给定的毫秒时间值设置现有日期对象。如果给定的毫秒值包含时间信息,则驱动程序将时间组件设置为默认时区(运行应用程序的Java虚拟机的时区)中的时间,该时区对应于零GMT。Java.sql.date可处理高达毫秒的精度,请参阅:然而,您是对的,date、time、datetime的实现在不同的数据库供应商中有所不同。@GeeBee阅读了javadoc:为了符合SQL日期的定义,必须通过设置小时、分钟、秒来“规范化”java.SQL.date实例包装的毫秒值,Javadoc还表示:public void setTime(long date)使用给定的毫秒时间值设置现有的日期对象。如果给定的毫秒值包含时间信息,则驱动程序将时间组件设置为默认时区(运行应用程序的Java虚拟机的时区)中对应于零GMT的时间。
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-mm-dd hh:MM");
                  java.util.Date date = sdf1.parse(rs.getString("dateMaint"));
                  java.sql.Date sqlStartDate = new Date(date.getTime()); 
                  mc.setDateMaint(sqlStartDate );