JAVA Timestamp和Date一个小问题。

时间:2022-09-17 17:37:53
JAVA Timestamp和Date一个小问题。
我在前台并没有传值,为什么不管是Data和Timestamp都有一个默认的时间值就是1970、01、01。
如果没记错的话,我记得Date,Timestamp类型如果不给值一般就是为null对象(在这我并没有new).
所以想请教下是我理解错了,还是因为我们公司自己写的方法问题?
还有一个就是XXX.getNumber()的时候,这里getNumber返回的是BigDecimal类型的。也是同样没传值
默认会给个0;.
求各路大神指教下。

6 个解决方案

#1


getNewRecord().getField().getTimestamp是你们公司自己写的一个提取类似ResultSet数据库结果集的方法吗?如果是的话就看一下公司源码。如果不是的话,可以提供一下使用的框架,方便其他人回答。

#2


本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null

#3


引用 2 楼 scmod 的回复:
本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。

#4


引用 1 楼 Mr_yyy 的回复:
getNewRecord().getField().getTimestamp是你们公司自己写的一个提取类似ResultSet数据库结果集的方法吗?如果是的话就看一下公司源码。如果不是的话,可以提供一下使用的框架,方便其他人回答。


源码被用A,B XXX的封装了,看不明白。
我就是想问问 是不是我理解错了。
Date,Timestamp 默认值是1970年开始的。
一般我们Date date = new Date();
date.getTime();
date.getDate();应该都是获取当前系统时间的。

#5


引用 3 楼 qq_25980625 的回复:
Quote: 引用 2 楼 scmod 的回复:

本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。


不一定...你是指new出来的东西不传就没值吗?那个跟构造方法有关...不是无参构造出来的就一定里面啥都没有..

#6


引用 5 楼 scmod 的回复:
Quote: 引用 3 楼 qq_25980625 的回复:

Quote: 引用 2 楼 scmod 的回复:

本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。


不一定...你是指new出来的东西不传就没值吗?那个跟构造方法有关...不是无参构造出来的就一定里面啥都没有..


恩,这个我知道。主要我是怕自己理解错了。就是正常好像如果new Date()或者new Timestamp ()是当前时间的。
我今天自己试了一般好像不是1970年。估计是跟这个方法判断没有传值就默认是1970或者像你说的构造方法直接赋了一次值。
大体是这样。

#1


getNewRecord().getField().getTimestamp是你们公司自己写的一个提取类似ResultSet数据库结果集的方法吗?如果是的话就看一下公司源码。如果不是的话,可以提供一下使用的框架,方便其他人回答。

#2


本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null

#3


引用 2 楼 scmod 的回复:
本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。

#4


引用 1 楼 Mr_yyy 的回复:
getNewRecord().getField().getTimestamp是你们公司自己写的一个提取类似ResultSet数据库结果集的方法吗?如果是的话就看一下公司源码。如果不是的话,可以提供一下使用的框架,方便其他人回答。


源码被用A,B XXX的封装了,看不明白。
我就是想问问 是不是我理解错了。
Date,Timestamp 默认值是1970年开始的。
一般我们Date date = new Date();
date.getTime();
date.getDate();应该都是获取当前系统时间的。

#5


引用 3 楼 qq_25980625 的回复:
Quote: 引用 2 楼 scmod 的回复:

本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。


不一定...你是指new出来的东西不传就没值吗?那个跟构造方法有关...不是无参构造出来的就一定里面啥都没有..

#6


引用 5 楼 scmod 的回复:
Quote: 引用 3 楼 qq_25980625 的回复:

Quote: 引用 2 楼 scmod 的回复:

本来这个就是1970年开始的...
而且不给为什么就是null...不创建对象new什么的才是null


就是一个方法里,如果不你没给这个值传值,不应该是null值么?
至于初始值是不是1970年我还真不知道。
也是刚入门的小菜鸟。


不一定...你是指new出来的东西不传就没值吗?那个跟构造方法有关...不是无参构造出来的就一定里面啥都没有..


恩,这个我知道。主要我是怕自己理解错了。就是正常好像如果new Date()或者new Timestamp ()是当前时间的。
我今天自己试了一般好像不是1970年。估计是跟这个方法判断没有传值就默认是1970或者像你说的构造方法直接赋了一次值。
大体是这样。