我试图用以下公式计算从现在起100天的时间:
import java.util.Date;
public class Main
{
public static void main(String[] args) {
System.out.println("Hello World");
System.out.println(new Date(System.currentTimeMillis() + 8640000 * 1000));
}
}
它给我返回了Jan 04 08:57:25 UTC 2021
,这是不正确的。我该如何补救?
有时尝试一下
LocalDateTime.now().plusDays(100).toString()
或
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z"); // you could used any format
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 100); // Adding 100 days
String output = sdf.format(c.getTime());
System.out.println(output);
java的日期时间API。util
及其格式化API,SimpleDateFormat
已经过时,并且容易出错。建议完全停止使用它们,并切换到现代日期时间API。
使用现代API:
import java.time.LocalDate;
import java.time.ZoneId;
public class Main {
public static void main(String[] args) {
// Change the ZoneId as per your requirement e.g. ZoneId.of("Europe/London")
LocalDate today = LocalDate.now(ZoneId.systemDefault());
LocalDate after100Days = today.plusDays(100);
System.out.println(after100Days);
}
}
输出:
2021-04-13
从Trail:date-time了解现代日期时间API。
使用遗留API:
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class Main {
public static void main(String[] args) {
// Change the TimeZone as per your requirement e.g. TimeZone.getTimeZone("Europe/London")
Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
calendar.add(Calendar.DAY_OF_YEAR, 100);
Date after100Days = calendar.getTime();
System.out.println(after100Days);
}
}
输出:
Tue Apr 13 19:40:11 BST 2021
使用以下内容:
System.out.println(new Date(System.currentTimeMillis() + (long)8640000 * 1000));
或者
System.out.println(new Date(System.currentTimeMillis() + 8640000L * 1000));
8640000 * 10008,640,000,000,超过整数。MAX_VALUE2,147,483,647。可以通过将其转换为long
来解决此问题。
结果如下:
Tue Apr 13 15:26:10 EDT 2021
我下面有一个秒表代码,一开始运行的是ss:ms(秒.毫秒)格式,当它达到60秒以上时,我希望它运行的是mm:ss.ms(分钟:秒.毫秒)格式,这里是我的代码 我尝试了这段代码,但不起作用(不改变秒表的innerHTML)
使用 我修改了以包含导入语句。因此,maven无法找到我试图使用并将其与项目链接的jar。 我向pom.xml文件添加了一个依赖项,如下所示:
问题内容: 我无法为Java时间戳添加秒数。 我有这个,但是,它给了我相同的日期: 问题答案: 您拥有的代码适合我。作为简短但完整的程序: 输出: 请注意相差10分钟,即600秒。 当然,这样会损失亚毫秒级的精度,这可能不太理想-最初与我通常使用的时间戳背道而驰-但这 确实 增加了秒数… 另一种选择是直接使用:
问题内容: java函数System。 currentTimeMillis ()显然返回自1970年1月1日以来的秒数。但是,根据Wikipedia.org/wiki/Leap_second的说法,自1972年以来已经有25个leap秒。这意味着自1970年1月1日以来的实际秒数比单纯的计算所建议的秒数多25。是否系统。 currentTimeMillis ()会天真的计算而忽略the秒吗? 问题
作为日志记录工具,我使用Log4j2,这是通过使用系统属性(/VM参数)调用的,使用: 为了编译我的项目,我使用Maven并创建exe文件Launch4j(Plugin:com.akatast.Maven.plugins.Launch4j)。 我的pom中的插件定义。xml如下所示: 我现在的问题是: 如何设置log4j2集成的系统属性?! 如果试图用“opt”将其置于括号中(http://lau
我有一个灰色的选项,我必须完成才能完成一个项目。上面说