小编Bas*_*que的帖子

在Java Date/Calendar对象中找到的神秘毫秒数

使用Dates和时有一种奇怪的怪异Calendar.要点是我想创建一个特定的日期,例如

Calendar cal = Calendar.getInstance();
cal.set(1970, 0, 1, 0, 0, 0);
Date date = cal.getTime(); 
Run Code Online (Sandbox Code Playgroud)

现在的问题是:它显示了正确的日期,但是在调试时我在日期变量下看到例如"fasttime" -3599459.这使我的JUnit测试失败,因为期望的值是-3600000.似乎日历增加了541毫秒或类似于初始化时...

问题是:是不是可以简单地创建一个固定的日期而不是'我在后台'鬼功能中添加几毫秒?

java calendar date

13
推荐指数
2
解决办法
987
查看次数

使用Java 8 java.time api解析ISO时间戳(仅限标准版)

我在例子中从字符串中获取毫秒数时遇到麻烦.到目前为止,我已经尝试了这三种不同的方式,示例显示了最新的尝试.似乎总是认为TemporalAccessor不支持ChronoField.如果我可以成功构建一个Instant实例,我可以使用toEpochMilli().

String dateStr = "2014-08-16T05:03:45-05:00"
TemporalAccessor creationAccessor = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(dateStr);
Instant creationDate = Instant.from(creationAccessor);
Run Code Online (Sandbox Code Playgroud)

请提供简明的答案(不要从头开始构建格式化程序)并仅使用java 8标准发行版(我可以使用Joda,但希望避免依赖项).

编辑:上面代码中的Instant.from抛出:java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {OffsetSeconds=-18000},ISO resolved to 2014-08-16T05:03:45 of type java.time.format.Parsed

java datetime string-parsing java-8 java-time

13
推荐指数
2
解决办法
1万
查看次数

具有固定毫位数的java.time ISO日期格式(在Java 8及更高版本中)

默认情况下,使用DateTimeFormatter.ISO_INSTANT格式化程序的toString方法.如果格式化程序碰巧为0,则不会打印秒数的数字.Instant

java时间示例:

    2015-10-08T17:13:07.589Z
    2015-10-08T17:13:07Z
Run Code Online (Sandbox Code Playgroud)

Joda-Time示例(以及我对java.time的期望):

    2015-10-08T17:13:07.589Z
    2015-10-08T17:13:07.000Z
Run Code Online (Sandbox Code Playgroud)

在一些系统中解析这真的很令人沮丧.Elasticsearch是我遇到的第一个问题,没有预定义的格式支持可选的millis,但我可以使用自定义格式解决这个问题.默认似乎是错误的.

看来你无法为Instants构建自己的格式字符串.是实现我自己的java.time.format.DateTimeFormatterBuilder.InstantPrinterParser的唯一选择吗?

java jodatime java-8 java-time

13
推荐指数
1
解决办法
3307
查看次数

自包含的应用程序

我已经看过几篇在Java 9中简要提到自包含应用程序的在线演示文稿,但我有一个问题需要我解决.

使用新模块系统,您现在只允许包含运行应用程序所需的最少代码.但是,希望运行应用程序的系统是否仍然需要JRE,或者是否可以包含在程序中的基本模块中?

我怀疑它是后者,因为下载最新版Java 的页面(这里)仍显示版本8_151.

TL; DR - 使用Java 9,是否可以创建一个可以在没有安装JRE/Java的系统上执行的自包含可执行文件?

java self-contained java-9 java-module

13
推荐指数
2
解决办法
4080
查看次数

检查一个日期是否恰好是24小时或更长时间

我在Java中使用compareTo方法尝试检查某个日期是否大于或等于另一个日期之后的24小时.

如何确定要比较日期的整数?

java date

12
推荐指数
3
解决办法
2万
查看次数

JDK中的Java Mission Control:它可以免费使用什么?

自Java 7u40以来,Java Mission Control已包含在Java JDK中.

从JMC文档中可以清楚地看出这是一个商业功能,但JDK文档没有明确说明何时可以免费使用JMC,何时需要Java SE Advanced许可证.这可能是因为甲骨文希望使用它并因此使其免费提供,或者因为它们通常采用"免费开发,支付生产"政策,并且只是想引诱开发人员使用新的昂贵玩具.

谁找到了确切的条款?


编辑:从Java 11开始,jfc是开源OpenJDK的一部分,而不仅仅是Oracle支持的Oracle Java 11.

java oracle jmc

12
推荐指数
0
解决办法
2375
查看次数

java.time相当于Joda-Time`withTimeAtStartOfDay`?(获得当天的第一时刻)

Joda-Time库中,DateTime该类提供了withTimeAtStartOfDay获取当天第一时刻的方法.你可能会认为那个时刻是"午夜".第一个时刻通常是时间,00:00:00.000但并非总是如此.

在Java 8及更高版本中找到的java.time包是否具有等效功能?

java datetime java-time

12
推荐指数
2
解决办法
5276
查看次数

Android和Lambda

我需要将一些代码与Java lambda函数的广泛使用集成在一起.我有几个限制要求我使用Eclipse Mars开发我的项目,使用最新的ADT插件,而不是Android Studio.

问题是使用Lambda函数需要使用1.8 JDK兼容性,但是如果这样设置,我收到以下消息:

Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead.
Run Code Online (Sandbox Code Playgroud)

这两个人怎么能和睦相处?

编辑:这不是建议的问题的重复,因为我问的是ADT Eclipse,自从上一次更新这个问题以来,Android确实支持Java 8,所以这不仅不重复,而且现在问题是(在上次更新后的1.5年后)已过时.

java eclipse lambda android adt

12
推荐指数
2
解决办法
1万
查看次数

Vaadin 10为新项目

我是Java开发人员,我将开始新项目.我的客户端开发技能非常有限,这就是为什么我真的很喜欢Vaadin框架的想法.我已经评估了Vaadin 10 Bakery App Starter应用程序https://vaadin.com/start#vaadin10,并且为了使这个应用程序启动并运行而自定义的HTML/CSS/JavaScript数量让我感到惊讶.现在我真的很困惑,不明白它如何简化开发人员的生活.

我现在可以作为项目启动器使用的唯一应用程序是着名的QuickTickets Dashboard https://demo.vaadin.com/dashboard/,其中所有UI都是纯Java实现的.目前最大的问题是这个应用程序是在Vaadin 8上实现的,我无法为Vaadin 10找到它的版本.你有类似Vaadin 10的东西吗?如果不是,您是否有从Vaadin 8到Vaadin 10的迁移指南,我可以使用它来尝试将此应用程序移植到Vaadin 10?

vaadin vaadin8 vaadin10 vaadin-flow

12
推荐指数
3
解决办法
3861
查看次数

IntelliJ:“构建”>“重建项目”菜单项与 Maven 全新安装

对于IntelliJ 2018中Maven驱动的项目,什么时候应该选择使用\xe2\x80\xa6

\n\n
    \n
  • IntelliJ 2018.1 菜单项Build>Rebuild Project
  • \n
  • Maven 面板\xe2\x80\x99scleaninstallLifecycle 项
  • \n
\n\n

什么情况下合适?

\n\n

我的情况是使用Vaadin archetype 的Vaadin 8应用程序。vaadin-archetype-application-multimodule

\n\n

问题是,IntelliJ Build > Rebuild Project 是否会调用 maven?一个答案Rebuild Project根本不调用 Maven。但没有给出何时使用路线和其他路线的指导。

\n

java build intellij-idea maven

12
推荐指数
1
解决办法
7230
查看次数