Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不使用系统时间的情况下从服务器获取时间_Java - Fatal编程技术网

Java 如何在不使用系统时间的情况下从服务器获取时间

Java 如何在不使用系统时间的情况下从服务器获取时间,java,Java,如果我更改系统日期,它将自动更改为同一时间。。。。 所以我需要显示没有系统时间的原始internet服务器时间。。。。。。任何人请回答这个 import java.text.SimpleDateFormat; import java.util.Calendar; public class currentTime { public static void main(String[] args) { Calendar cal = Calendar.getInstance(

如果我更改系统日期,它将自动更改为同一时间。。。。 所以我需要显示没有系统时间的原始internet服务器时间。。。。。。任何人请回答这个

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class currentTime {

    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        System.out.println( sdf.format(cal.getTime()) );
    }

}

请尝试此代码。。它的工作

使用NTP:无法获取。需要示例已尝试过。但每当更改系统时间时,输出也会更改
    import java.net.InetAddress;
 import java.util.Date;
 import org.apache.commons.net.ntp.NTPUDPClient; 
 import org.apache.commons.net.ntp.TimeInfo;

     public class TimeLookup {

    public static void main() throws Exception {
                String TIME_SERVER = "time-a.nist.gov";   
        NTPUDPClient timeClient = new NTPUDPClient();
        InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);
        TimeInfo timeInfo = timeClient.getTime(inetAddress);
        long returnTime = timeInfo.getReturnTime();
        Date time = new Date(returnTime);
        System.out.println("Time from " + TIME_SERVER + ": " + time);
    }
}