- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将日期以这种格式存储在数据库 2019-07-03 12:14:11 中,所以当我从数据库中获取它时,它带有时间戳,但我只想要日期,这样我就可以将它用作我的 TreeMap 的键,用于根据日期对 TreeMap 进行排序。
例如。
假设我在数据库中有与这些日期相关的数据
2019-07-03 12:14:11 and
2019-07-03 12:14:27
现在两个日期相同但时间不同所以当我存储在我的 TreeMap 对象中时
TreeMap<Date,List<Integer>> t=new TreeMap<>();
然后尽管日期相同,但时间不同,TreeMap 将日期存储在不同的键中,但我想要,因为两个日期相同,因此与两个日期关联的数据应仅存储在一个键中。
如果与第一个 adte 关联的数据是 1,第二个日期是 2,那么在 TreeMap 中它应该将 1 和 2 存储在一个键下,如果另一个数据 3 与 2019-07-01 12:12:12 关联然后它应该存储在另一个键中并且键应该被排序
这是我写的
if(map.containsKey(invoiceHeader.getInvoice_Date()))
{
List<Integer> invoicesList= map.get(invoiceHeader.getInvoice_Date());
invoicesList.add(invoiceId);
map.put(invoiceHeader.getInvoice_Date(),invoicesList);
}
else {
List<Integer> invoicesList=new ArrayList<>();
invoicesList.add(invoiceId);
map.put(invoiceHeader.getInvoice_Date(),invoicesList);
}
但这里的关键是存储日期和时间,所以即使
2019-07-03 12:14:11 and
2019-07-03 12:14:27
创建了相同的 2 个键,1 个存储在一个键中,2 个存储在另一个键中,因为 getInvoice_Date() 正在获取存储在数据库中的日期和时间
如何实现我想要的?
最佳答案
不要使用古老的java.util.Date
目的。使用新的 Java 8 时间 API,即解析 2019-07-03 12:14:11
日期字符串到 LocalDateTime
对象,然后调用 toLocalDate()
获取仅限日期的 LocalDate
值,这将是您 map 中的键 ( Map<LocalDate, List<Integer>>
)。
您的代码将是:
map.computeIfAbsent(invoiceHeader.getInvoice_Date().toLocalDate(), x -> new ArrayList<>())
.add(invoiceId);
如果getInvoice_Date()
返回 java.util.Date
, 然后你可以得到 LocalDate
像这样的值:
Instant invoiceInstant = invoiceHeader.getInvoice_Date().toInstant();
LocalDateTime invoiceDateTime = LocalDateTime.ofInstant(invoiceInstant, ZoneId.systemDefault());
LocalDate invoiceDate = invoiceDateTime.toLocalDate();
结合上面的代码可以得到:
map.computeIfAbsent(LocalDateTime.ofInstant(invoiceHeader.getInvoice_Date().toInstant(),
ZoneId.systemDefault()).toLocalDate(),
x -> new ArrayList<>())
.add(invoiceId);
关于java - 如何从时间戳对象获取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876137/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!