gpt4 book ai didi

java - 如何转换为 GST 日期?

转载 作者:行者123 更新时间:2023-11-29 04:52:57 24 4
gpt4 key购买 nike

在进行了大量的谷歌研究之后,我将这个问题发布到这个专家组中。我找到了许多相关链接,但对我的情况不起作用。

我正在从数据库中获取格式为 2016-01-12 00:00:00.0 的日期值。现在我想将此日期与用户从屏幕 UI 输入的日期进行比较,格式为 Thu Jan 13 00:00:00 GST 2016

现在我想比较这些日期,即从屏幕输入的日期(2016 年 1 月 13 日星期四 00:00:00 GST)不应大于或等于从数据库中获取的日期 (2016-01-12) 00:00:00.0)。

我正在使用的日期比较:

public static boolean compareDates(Date fromDate, Date toDate) {

if (fromDate.before(toDate)) {
return true;
}
return false;
}

这是行不通的,因为日期格式与我的感觉不一样。

所以我想将 2016-01-12 00:00:00.0 转换为 Thu Jan 12 00:00:00 GST 2016。

请帮助我解决这个问题,因为我从早上起就被困在这个问题上。如果您有任何其他解决方案来比较这些日期,请建议我。

我像这样从我的 bean 类调用方法 compareDates(Date fromDate, Date toDate) :

if (!TeltrackDateUtil.compareDates( installationdate, instrumentStaffLnkData.getEffectiveFrom() )) {

String erroMessage = resourceBundle .getString("instrument_add_edit_mandatory_check_linkage_effective_from_ins‌​tallation_date");
createFacesMessage(erroMessage, facesContext); canProceed = false;
}

在此 installationdate = 2016-01-12 00:00:00.0(来自数据库)和 instrumentStaffLnkData.getEffectiveFrom() = Thu Jan 14 00:00:00 GST 2016 来自屏幕。

添加一些额外的代码:

在 DB(Oracle SQL 开发人员)中,它存储为 datetime,在我的实体类中它是 Timestamp effectiveFrom

在我的 ServiceImpl 类中,我将其设置为 TO 类变量:

InstrumentTO instrument = setEffectiveFrom(instrumentEntity.getEffectiveFrom());

最后在 bean 类中:

InstrumentTO instrument = instrumentService.getSelectedInstrument(instrumentId);
instrumentStaffLnkData.setInstrument(instrument);
Date installationdate = instrumentStaffLnkData.getInstrument().getEffectiveFrom();

然后调用 compareDates()

最佳答案

你可以像这样解析你的两种不同格式的日期对象:

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S", Locale.ENGLISH);
Date dateFromDatabase = df.parse("2016-01-12 00:00:00.0");

DateFormat df2 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
Date dateFromUi = df2.parse("Thu Jan 12 00:00:00 GST 2016");

compareDates(dateFromDatabase, dateFromUi);

但通常我会建议您使用 Joda Time出于@Srikanta 在他的回答中解释的原因。

关于java - 如何转换为 GST 日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com