Java报错系列——java.util.Date/java.sql.Date/java.sql.Timestamp

前言

前几天,在项目中,遇到一个问题,情况很简单,就是从MYSQL数据库中取出的时间只有年月日,而没有时分秒。然后,第一直觉就是肯定是我导入的包有问题,果然,我导入的是java.sql.Date包,修正为java.util.Date,问题依旧。这是为什么呢?曾经记得,java.util.Date会取出日期+时间,而java.sql.Date只会有日期。这是对的吗?MYSQL的时间类型经常是datetime/timestamp,我们应该怎么做呢?

实验


MYSQL表准备:

代码:

输出:

结论


无论MYSQL的时间数据类型是datetime/timestamp,如果我们仅仅需要的是日期部分,那么java.util.Date/java.sql.Date都可以使用;如果我们需要的是日期+时间,那么应该使用java.sql.Timestamp类型。

时间: 2024-09-30 01:02:45

Java报错系列——java.util.Date/java.sql.Date/java.sql.Timestamp的相关文章

Java报错系列——split

前言 在Java项目中,比如我们经常使用String的split方法对文本进行处理:在Map/Reduce中,我们也需要对HDFS文件读取后对line进行分割,也涉及到split.前几天,本来"好好的"程序,突然在split处报错,后来才知道由于有一条"脏数据"导致split"超出"了预期,才导致了"不可能发生的异常"就这样发生了~不过也说明了一些基础知识真的很重要,于是把String类的split源码阅读了下,发现一个&qu

Selenium+TestNG+Java报错:org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:40)

报错信息: at org.testng.TestClass.getInstances(TestClass.java:100) at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:40) "java.lang.IllegalStateException"? 原因:对应浏览器的driver文件配置不正确 解决方法:安装相应的浏览器driver https://github.com/Selen

java 报错非法的前向引用

今天在看<thinking in java>的时候,第四章提到了非法的前向引用,于是自己试了一下,书中的例子倒是一下就明白了,但是自己写的一个却怎么也不明白,于是上网问了一位前辈,终于明白啦! 这个是错误的代码: class BB { static int a = 0 ; public BB() { a++ ; System.out.println("执行BB" + a) ; } public void printA() { System.out.println("

SQL Developer 4.0 启动报错“unable to create an instance of the java virtual machine located at path”

安装了Oracle之后,第一件事情就是想想怎么去连接,进而操作.SQL Developer是官方提供的强大工具,个人看来也是第一选择. 目前官网提供的最新版是4.0.1.14.48,下载下来之后,就跃跃欲试了.将下载下来的包解压,直接运行sqldeveloper.exe这个文件,选择了本地安装的JDK路径,之后却不幸的报错了,提示"unable to create an instance of the java virtual machine located at path",具体界面

resion 编译时,遇到java报错问题

checking if/usr/lib/jvm/java-1.7.0/bin/java -d64 is Java 1.6... no configure: error: Java1.6 required. /usr/lib/jvm/java-1.7.0/bin/java -d64 returned: java version"1.7.0_55" OpenJDK RuntimeEnvironment (rhel-2.4.7.1.el6_5-x86_64 u55-b13) OpenJDK

Eclipse报错 due to restriction on required library C:/Java/jdk1.7.51/jre/lib/rt.jar 解决方案

Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案 Eclipse 编译时报错: Access restriction:The type NEW is not accessible due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方法如下:  1.进入Project -

Centos7 JDK安装过程中 解决java -version 报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied

1.执行Linux命令 -----vim /etc/profile  编辑profile  文件,在里面添加: #set java enviroment JAVA_HOME=/opt/JavaHome/jdk1.8.0_171JRE_HOME=/opt/JavaHome/jdk1.8.0_171/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin

Java报错原因汇总

1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序 遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片 未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初 始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是

【Java报错】Message: 3 字节的 UTF-8 序列的字节 2 无效

报错logs 2015-03-10 10:15:32,360 ERROR [qtp32195030-27] [InvokeAfterValve.java:55] - javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1485]Message: 3 字节的 UTF-8 序列的字节 2 无效. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.ne