Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month=now.get(Calendar.MONTH)+1;
int date=now.get(Calendar.DATE);
String yearInString = String.valueOf(year);
String monthInString=String.valueOf(month);
if(monthInString.length()==1){
monthInString="0"+monthInString;
}
String dateInString=String.valueOf(date);
if(dateInString.length()==1){
dateInString="0"+dateInString;
}
int hour=now.get(Calendar.HOUR);
String hourInString=String.valueOf(hour);
int minute=now.get(Calendar.MINUTE);
String minuteInString=String.valueOf(minute);
if(minuteInString.length()==1){
minuteInString="0"+minuteInString;
}
int second=now.get(Calendar.SECOND);
String secondInString=String.valueOf(second);
String HRD=yearInString+"-"+monthInString+"-"+dateInString+" "+hourInString+":"+minuteInString+":"+secondInString;
System.out.println(HRD);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-dd-MM HH:mm:ss.SSS");
LocalDateTime dt = LocalDateTime.parse(HRD, dtf);
Instant instant = dt.toInstant(ZoneOffset.UTC);
System.out.println(instant.toEpochMilli());
Date date1 = dateFormat.parse(HRD);
long epoch = date1.getTime();
System.out.println(epoch);
但显示错误
线程“main”java.time.format.dateTimeParseException:Text'2021-10-06 0:29:43“无法在索引11处解析,位于java.base/java.time.format.dateTimeFormatter.parseresolved0(DateTimeFormatter.java:2052),java.base/java.time.format.dateTimeFormatter.parse(DateTimeFormatter.java:1954),java.base/java.time.localDateTime.parse(
java.util
Date-Time API已经过时并且容易出错。建议完全停止使用它,并切换到现代日期时间API*。
使用java.time
的解决方案,现代的日期-时间API:从下午12点的offsetdatetime
中,您可以使用offsetdatetime#toinstant
获得相应的instant
,并且从这个instant
,您可以获得纪元毫秒。
演示:
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
OffsetDateTime todayAtNoon = OffsetDateTime.of(LocalDate.now(ZoneOffset.UTC), LocalTime.NOON, ZoneOffset.UTC);
OffsetDateTime lastDateOfMonth = todayAtNoon.with(TemporalAdjusters.lastDayOfMonth());
for (OffsetDateTime odt = todayAtNoon; !odt.isAfter(lastDateOfMonth); odt = odt.plusDays(1)) {
System.out.println(odt.toInstant().toEpochMilli());
}
}
}
1633521600000
1633608000000
1633694400000
...
问题内容: 你如何做相反,你把时间+日期,并获得秒数? 我有类似的字符串,并且我想获取从纪元到2009年7月9日之间的秒数。 我已经尝试过,但是我不知道如何正确使用它,或者它是否是正确的命令。 问题答案: 如果您是由于搜索引擎告诉您这是获取Unix时间戳的方法而到达此处的,请停止阅读此答案。向下滚动一个。 如果想扭转,那就想。 您可以使用将字符串转换为时间元组,该时间元组将返回一个时间元组,您可以
问题内容: 是否可以在手动查询中使用诸如DATETIME之类的值或命令来插入当前日期和时间? 末尾引用的DATETIME值是我要添加当前日期和时间的位置。 问题答案: 您可以使用:
问题内容: 如何使用Java获取当前日期和时间? 我正在寻找与C#等效的东西。 问题答案: 只需构造一个没有任何参数的新对象即可;这会将当前日期和时间分配给新对象。 在的话的Javadoc的无参数的构造函数: 分配一个Date对象并对其进行 初始化,以便它表示分配它的时间( 以最近的毫秒为单位)。 确保您使用的不是-后者没有零参数构造函数,并且语义有所不同,这是完全不同的对话的主题。:)
本文向大家介绍java如何获取两个日期的时间差,包括了java如何获取两个日期的时间差的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java如何获取两个日期的时间差,供大家参考,具体内容如下 rainBeginTime是从本地数据库获取的时间,格式为”yyyy-MM-ddTHH:mm:ss“。 主要逻辑: 其中MyDateUtil.java: 更多关于java时间操作的文章,请点击
问题内容: 要插入到列中。我正在使用 数据库。我的问题是: SQL中有可用的功能吗?或者 它取决于实现,因此每个数据库对此都有自己的功能? MySQL中可用的功能是什么? 问题答案: 完整答案: 1. SQL中有可用的功能吗? 是的,SQL 92规范,97年10月,第pg。171第6.16节指定了以下功能: 2.它是依赖于实现的,因此每个数据库对此都有自己的功能吗? 每个数据库都有其自己的实现,但
问题内容: 我想要一个开始日期和结束日期之间的日期列表。 结果应为所有日期的列表,包括开始日期和结束日期。 问题答案: 一次添加一天直到达到结束日期: 实现自己的迭代器也可以做到这一点并不难,那就更好了。