我浏览了整个网站以找到解决方案。但是我发现没有一个有效。而且大多数都还很老。所以我想从互联网上获取当前的UTC时间。完全独立于手机。
如果有人可以帮助我,那会很好。
答案 0 :(得分:1)
这是一项免费服务,返回自Unix时代以来的分钟数: https://currentmillis.com/time/minutes-since-unix-epoch.php
Unix时代是1970年1月1日星期四UTC时间
这里有一些代码来获取此数字并用Java在其中创建一个 Instant 对象:
URL url = new URL("https://currentmillis.com/time/minutes-since-unix-epoch.php");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
long minutes = Long.parseLong(in.readLine());
in.close();
con.disconnect();
Instant instant = Instant.ofEpochSecond(minutes * 60);
请注意,此服务的时间分辨率以分钟为单位,因此第二秒将不准确,因此您必须确定它是否足以满足您的目的。另外请注意,如果您发布此代码,则使其更加健壮(例如适当的异常处理)将是很好的选择。如果需要更精确的时间,可以使用NTP:use of ntp service
答案 1 :(得分:0)
只问谷歌。 :)
curl -i google.com | grep Date
答案 2 :(得分:0)
我猜你是说编码,如果是的话,这些是在JAVA上获取当前时间和日期的方法:
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class currentTime {
public static void main(String[] args) {
//1
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd
HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now));
//2
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(formatter.format(date));
//3
System.out.println(java.time.LocalDate.now());
//4
System.out.println(java.time.LocalTime.now());
//5
System.out.println(java.time.LocalDateTime.now());
//6
System.out.println(java.time.Clock.systemUTC().instant());
//7
java.util.Date date1=new java.util.Date();
System.out.println(date1);
//8
long millis=System.currentTimeMillis();
java.util.Date date2=new java.util.Date(millis);
System.out.println(date2);
//9
Date date3=java.util.Calendar.getInstance().getTime();
System.out.println(date3);
}
}