public static long RegoExpiryDateFormatter(String regoExpiryDate)
{
long epoch = 0;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
df.setTimeZone(TimeZone.getTimeZone("GMT+11"));
Date date;
try {
date = df.parse(regoExpiryDate);
epoch = date.getTime();
} catch (ParseException e) {
System.out.println("Exception is:" + e.getMessage());
e.printStackTrace();
}
System.out.println("Converted regoExpiryDate Timestamp*************** " + epoch);
return epoch;
}
输出:1604062800000,通过使用Epoch转换器给出30/10/2019年的日期,但在输入中,我将31号作为日期传递。有人能澄清一下吗?
通过执行df.settimezone(timezone.gettimezone(gmt+11“);
,您要求日期格式化程序在gmt+11时区解释字符串。但是,不应该在该时区解释字符串。看到字符串中的z
了吗?它代表GMT时区,所以您应该这样做:
df.setTimeZone(TimeZone.getTimeZone("GMT"));
实际上,对于即时
(如果愿意,也可以是“时间点”),字符串是ISO 8601格式的。因此,您可以使用instant.parse
解析它,并使用toepochmilli
获取毫秒数:
System.out.println(Instant.parse("2020-10-31T00:00:00Z").toEpochMilli());
// prints 1604102400000
警告:如果Java 8 API(即instant
等)可用,就不应该再使用SimpleDateFormat
了。即使它们不是,你也应该使用NodaTime或类似的东西。
我有输入日期为"2020-10-31T00:00:00Z"。我想解析这个日期以获得长毫秒。注意:转换的毫秒应为悉尼时间(即GMT 11)。 仅供参考, 输出:1604062800000,使用历元转换器给出日期为2019年10月30日,但在输入中,我将31号作为日期。有人能澄清一下吗?
我正在从DB获取日期值作为长值。我正在将其转换为字符串以使用解析函数。下面是我的代码 但在执行此代码时,应用程序会崩溃。如果 但我将这个值作为“12302012235”(pzudo值)。 我怎么能这么做? 编辑: 我正在将日期值作为整数保存到数据库。我正在从DB中获取这个值,并将其转换为字符串。这是实际的strDate1值
我的一个软件中有这段代码,我简化了它,并在一个示例java类中重写了它。今天是“2022-04-08”,当我执行此代码时,变量等于,但它应该是。如何解决这个问题?
我需要将一些字符串日期转换为另一种格式的字符串日期 我想按照“yyyy-MM-dd'T'HH:MM:ss.SSSXX”模式获得ISO-8601格式的结果日期字符串 你能帮我实现这个吗?
我刚到爪哇。Postgres db包含日期的格式为。我需要转换为。 我已经试过了,但是显示的结果是错误的
问题内容: 我在字符串中有一个日期,例如“ 2012年12月12日”。如何将其转换为毫秒(长)? 问题答案: 使用SimpleDateFormat