1

我用两个日历来确定开始日期和完成如下,

date.Ic.add(Restrictions.between("islemZamani", date1, date2));

然而,这个标准的结果有 date1 和它们之间的结果,不包括 date2 的结果。我的意思是,它显示date1<= 结果。我想要 date1<= 结果<=date2。所以我尝试了这样的 SimpleDateFormat;

    String tar1 = new String();
    String tar2 = new String();
    TimeZone tz = TimeZone.getTimeZone("Europe/Istanbul");
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
    dateFormat.setTimeZone(tz);
    tar1 = dateFormat.format(date1);
    tar2 = dateFormat.format(date2);
    tar1 = tar1.substring(11, 18) + "000000";
    tar2 = tar2.substring(11, 18) + "235959";

    c.add(Restrictions.between("islemZamani", tar1, tar2));

现在它给出了 NullPointerException。我该如何解决这个问题?你有什么与 SimpleDateFormat 不同的建议吗?感谢您的任何回复。


带有干净本地仓库的 git pull 导致合并提交

更新:这原来是我正在使用的 SmartGit 版本(版本 3.0.11)中的一个错误 - 一个类似于 gitk 的应用程序。“可推送提交”列表在执行“git pull”后被修改,并且一些尚未推送的本地提交被意外地从该 UI 列表中删除。这导致了这篇文章中描述的混乱,似乎唯一没有被推送的提交是“合并提交”。


我将更改推送到远程(在 GitHub 上)。另外两个开发者在我之后提交了一些提交。我绝对没有本地更改或提交,并且做了一个“git pull”。

立即,在它撤下更改后,它迫使我进行合并提交(允许我键入可选消息)。我已经使用 Git 大约 2 年了,但我还没有遇到过将更改拉入干净的本地存储库会强制合并提交的情况。这在过去一周发生了两次,我不确定该怎么做,所以我两次都立即推送了这个合并提交,没有任何问题(!?)。

在我们的团队中,我们有一些喜欢变基的开发人员和其他使用 git pull 的开发人员。我想知道它是否可能相关(即使我们已经进行了一年多的设置,而一周前我还没有遇到过这种情况)。我使用 git pull。

下图显示了历史。

合并提交

我推送的原始提交是紫色线上的底点。其他两个开发人员追随我,在拉动他们的更改后,它在我的本地存储库中创建了顶部的“合并分支”提交(在同一条紫色线上)。

4

1 回答 1

1

使用字符串来操作日期太复杂了,可能会出现很多问题。仅使用 java.util.Date 和/或 java.util.GregorianCalendar。

尝试这个 :

GregorianCalendar calendar1 = new GregorianCalendar();
calendar1.setTime(date1);
// Edit the calendar1 here if you want to

GregorianCalendar calendar2 = new GregorianCalendar();
calendar2.setTime(date2);
calendar2.add(GregorianCalendar.DAY_OF_YEAR, 1);

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
TimeZone tz = TimeZone.getTimeZone("Europe/Istanbul");
dateFormat.setTimeZone(tz);

String tar1 = dateFormat.format(calendar1.getTime());
String tar2 = dateFormat.format(calendar2.getTime());

c.add(Restrictions.between("islemZamani", tar1, tar2));

但是没有痕迹,我不确定这会解决你的问题......

并且,如果可能,请使用日期而不是限制中的字符串。

于 2013-11-05T10:50:36.133 回答