Util class in java 输出时间戳
Util class in java to output timestamp
我是 java 的新手,我有一个要求,我需要创建一个方法,该方法必须输出当前日期时间 + 2 个月的时间戳。基本上在我的代码中,我使用了硬编码的时间戳,它每 2 个月就会过期,所以我想用一个方法的输出替换硬编码值,该方法将计算从现在起 2 个月后的时间戳,我可以通过输出到我的方法而不是硬编码。
有人可以帮助我使用该实用程序来满足我的要求吗?
rules.add(CreateDiscountV8.createDiscountV8Rule(1564185600000l, 1640952000000l, 0, ruleEffectiveTimes, "P", "AC", "E", "AC", 0l, Long.MAX_VALUE, 0l, Long.MAX_VALUE,"bexdl", "x-in-y",null, 100, DEFAULT_MIN_TRIP_SEGMENTS, DEFAULT_MAX_TRIP_SEGMENTS, false, 1));
我正在尝试类似的操作,但在编译时遇到错误。
public class GetDynamicTimestamp {
public static EndDateTimestamp getEndDate()
{
long currentTimestamp = System.currentTimeMillis();
long enddatetimestamp = currentTimestamp + 200000000l;
return enddatetimestamp;
}
}
解决方案使用 java.time
,现代日期时间 API:
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
// Test
System.out.println(getEndDate());
}
public static long getEndDate() {
return OffsetDateTime.now(ZoneOffset.UTC)
.plusMonths(2)
.toInstant()
.toEpochMilli();
}
}
了解有关现代日期时间 API 的更多信息
你的代码出了什么问题
在您的代码中,函数的 return 类型 getEndDate
是 EndDateTimestamp
而您正在 returning 一个 long
值。此外,如果有专门的 API 来实现相同的目的,手动执行计算也不是一个好主意。
我是 java 的新手,我有一个要求,我需要创建一个方法,该方法必须输出当前日期时间 + 2 个月的时间戳。基本上在我的代码中,我使用了硬编码的时间戳,它每 2 个月就会过期,所以我想用一个方法的输出替换硬编码值,该方法将计算从现在起 2 个月后的时间戳,我可以通过输出到我的方法而不是硬编码。 有人可以帮助我使用该实用程序来满足我的要求吗?
rules.add(CreateDiscountV8.createDiscountV8Rule(1564185600000l, 1640952000000l, 0, ruleEffectiveTimes, "P", "AC", "E", "AC", 0l, Long.MAX_VALUE, 0l, Long.MAX_VALUE,"bexdl", "x-in-y",null, 100, DEFAULT_MIN_TRIP_SEGMENTS, DEFAULT_MAX_TRIP_SEGMENTS, false, 1));
我正在尝试类似的操作,但在编译时遇到错误。
public class GetDynamicTimestamp {
public static EndDateTimestamp getEndDate()
{
long currentTimestamp = System.currentTimeMillis();
long enddatetimestamp = currentTimestamp + 200000000l;
return enddatetimestamp;
}
}
解决方案使用 java.time
,现代日期时间 API:
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
// Test
System.out.println(getEndDate());
}
public static long getEndDate() {
return OffsetDateTime.now(ZoneOffset.UTC)
.plusMonths(2)
.toInstant()
.toEpochMilli();
}
}
了解有关现代日期时间 API 的更多信息
你的代码出了什么问题
在您的代码中,函数的 return 类型 getEndDate
是 EndDateTimestamp
而您正在 returning 一个 long
值。此外,如果有专门的 API 来实现相同的目的,手动执行计算也不是一个好主意。