如何获取今天的日期和时间(即实际设备)
我已经尝试过了,但很多都给了设备时间
String date = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss", Locale.getDefault()).format(new Date());
答案 0 :(得分:1)
您可以从互联网上获取时间详细信息,然后使用它。只需互联网即可。
使用android.net.sntp.SntpClient类。
SntpClient client = new SntpClient();
int timeout = 50000;
if (client.requestTime("time-a.nist.gov", timeout)) {
long time = client.getNtpTime();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
calendar.getTime(); // this should be your date
}
答案 1 :(得分:0)
1)由于对spring:
cloud:
stream:
kafka:
bindings:
main-consumer-channel:
consumer:
autoCommitOffset: false
bindings:
main-consumer-channel:
destination: main_topic
consumer:
maxAttempts: 1
backOffInitialInterval: 5000
backOffMultiplier: 2
应用了带有小时和分钟的格式,因此您的代码无法编译
2)您使用的是设备的默认区域设置,因此它将返回本地日期时间。
3)您需要使用时区时间,并应用Greenwitch的时区来获取当前的DateTime,而不应用任何时区。
检查ZonedDateTime了解更多信息
答案 2 :(得分:0)
如果我对您的理解正确,则可能要从NTP(网络时间协议)服务器获取时间戳。而且Java已经有了可以满足您需求的库。 看一下这个。 (StackOverFlow) How to make my java app get global time from some online clock
答案 3 :(得分:0)
//获取当前默认时间 System.out.println(Calendar.getInstance()。getTime());
// get different time zone
ZoneId zoneId = ZoneId.of("America/Los_Angeles");
LocalTime localTime=LocalTime.now(zoneId);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
String formattedTime=localTime.format(formatter);
System.out.println("Current time of the day in Los Angeles: " + formattedTime);