在我的ISData
类中,我创建了以下方法:
public static final DateFormat IN_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
现在,在我的TSTIMP
类中,我试图将IN_DATE_FORMAT
格式的当前sys日期值分配给date数据类型的变量import_date
。但不知道该怎么做。我想把这个日期解析成字符串,因为我以后需要把它存储在数据库表中。目前我收到错误为java.lang.NullPointerException: null
data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse(<need to provide sysdate> as String)
下面我尝试了变量effective_date
,它也是Date
数据类型,它运行良好:
data.effective_date = allocDate != null ? InstrumentMasterData.IN_DATE_FORMAT.parse(allocDate as String) : null
另外,我有一个data.fund_quote_date
变量,它也是Date数据类型,应该始终为null。如何将null值分配给这个可变值?
我正在尝试在in_date_FORMAT中分配当前系统日期值format转换为日期数据类型的变量import_date。但不知道如何做到这一点。
您可以使用DateFormat#format
获取IN_DATE_FORMAT
格式的系统日期字符串,例如
data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse(InstrumentMasterData.IN_DATE_FORMAT.format(new Date()) as String)
然而,这是不必要的使用IN_DATE_FORMAT
格式化Date
对象,然后将相同的格式化字符串解析回Date
对象。相反,你可以简单地做:
data.import_date = new Date();
我还有
data.fund_quote_date
变量,也是Date数据类型并且它应该始终为null。如何将空值分配给可变的?
简单地,将null
分配给它:
data.fund_quote_date = null;
注意:如果可能,停止使用过时且错误的java.util
日期时间API和SimpleDateFormat
。切换到现代java.time
日期时间API和相应的格式API(java.time.format
(。从跟踪:日期时间了解有关现代日期时间API的更多信息。