java获取网络时间_java使用ntp同步获取网络时间
有时候本地时间不准或者被人为的修改过,这个时候就需要从网络获取时间来校准。
需要用到的jar为:https://commons.apache.org/proper/commons-net/download_net.cgi (本文用的是commons-net-1.4.1.jar)
了解相关ntp的背景:http://support.ntp.org/bin/view/Servers/NTPPoolServers
代码为:
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.TimeInfo;
import org.apache.commons.net.ntp.TimeStamp;
public class TimeTest {
public static void main(String[] args) {
System.out.println(new TimeTest().getDateTime());
}
private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* @功能:获取网络最新时间
* @return
*/
public String getDateTime() {
try {
NTPUDPClient timeClient = new NTPUDPClient();
InetAddress timeServerAddress = InetAddress.getByName("pool.ntp.org");
TimeInfo timeInfo = timeClient.getTime(timeServerAddress);
TimeStamp timeStamp = timeInfo.getMessage().getTransmitTimeStamp();
return dateFormat.format(timeStamp.getDate());
} catch (UnknownHostException e) {
e.printStackTrace();
return dateFormat.format(new Date());
} catch (IOException e) {
e.printStackTrace();
return dateFormat.format(new Date());
}
}
}
java获取网络时间_java使用ntp同步获取网络时间相关推荐
- linux时间同步解析,linux adjtimex详解时间偏差函数ntp同步与offset
一.adjtimex函数命令是作什么用的 adjtimex是Linux内核系统自带的一个时间纠正函数,基本上linux的每个发行版本儿都自带这个函数,该函数主要是用来纠正和调整linux的系统时间. ...
- Centos 修改时间地区及NTP同步北京时间
在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...
- java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
事实证明,检索存储内存缓存的低级数据存储实体非常缓慢.由于objectify将实体缓存为低级数据存储区实体类型,因此当使用objectify从memcache中获取许多实体时,这会导致性能不佳. 真正 ...
- java反射获取实现类_Java介绍通过反射获取类的信息
免费学习推荐:java基础教程 目录1.获取Field 2.反编译Field 3.通过反射机制访问对象属性 4.可变长度参数 5.反射Method(了解) 6.反编译(了解) 7.反射机制调用方法 8 ...
- java日期算前一天_java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)...
1.情景展示 java 根据系统当前日期获取前一天日期.后一天日期,或者根据初始日期推算出期望(向前/向后)日期. 2.解决方案 导包 import java.text.ParseException; ...
- java 获取est时间_java – 在EST时区获取XMLGregorianCalendar日期
我正在使用TimeZone.setDefault(TimeZone.getTimeZone("EST"));获得EST时区,它对我来说很好.但是有时候由于默认的JVM时区没有人在我 ...
- java游戏时间条_java – 如何获得游戏的实时时间
我正在使用 Java,我正在制作游戏.在这个游戏中,实时是非常重要的一部分. 出于这个原因,我试图使用Ntp获得实时. 我在网上找到的是这段代码. import java.net.InetAddres ...
- java爬虫编写步骤_JAVA爬虫--编写第一个网络爬虫程序
JAVA爬虫–编写第一个网络爬虫程序 前言上一章节介绍了XPATH基础语法,本章节将手把手带大家编写第一个爬虫程序,同时也希望能通过这个爬虫程序,帮助大家熟悉上一章节学习的XPATH基础语法并运用到实 ...
- java获取注解信息_java 自定义注解,获取注解信息
1.声明注解 @OneAnnotation package com.wdletu.log.test; import java.lang.annotation.*; /** * Created by z ...
- java data 图像 显示_Java(JMF)获取本地摄像头,实时显示图像
这几天用了JMF,感觉这个好坑,在win7,jdk1.7版本上支持都不太好,可能是JMF是一个老的东西把,现在apache好像都放弃了,没去了解.. 搞了我3天的时间.主要还是在环境搭建这边花了好多时 ...
最新文章
- uboot2014.10移植(一)
- 买房猛于虎《功夫熊猫无家可归》
- Python(2):基本数据类型
- springcloud(七)-Feign声明式REST调用
- 本科生手握十余篇SCI,达博士毕业要求后,他获顶级名校全奖直博offer
- 盘点丨2019十大边缘计算项目
- 你需要administrators提供的权限才能删除_终于解决了:你需要来自XXX的权限才能对此文件进行更改
- php如何生成本地文档,php如何生成word文件
- python常用_30个Python常用小技巧
- 这是来博客园的第二篇日志
- 操作系统随机密码,定时改密码
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_02-freemarker介绍
- python文本模糊匹配
- CSS中如何设拉伸背景图片铺满屏幕
- python三维向量运算_使用Python编写一个三维向量,实现向量的加法减法,点乘叉乘...
- 醉逍遥显示无法更新服务器,蜀门醉逍遥版本修改教程 (值好几千,俺心血).doc
- 计算机实训四 表格制作素材,计算机平面设计实训(第3版 赵荣胡昌杰)课件 素材平面图像设计实训04.ppt...
- 基于TCP/UDP的NIO服务端/客户端代码实现damo(java)
- JDK源码解析---Short
- 通俗讲解CDN是什么
热门文章
- Spring Data MongoDB简单的增删改查
- 2020年,谁还在中国卖手机?
- Nodejs教程15:net模块初探
- matlab a律非均匀量化,均匀量化和A律PCM非均匀量化实验.doc
- 【每日英文】2021.8.5
- mfw 攻防世界web题 (Git泄露)
- 40行代码的Python爬虫案例:虎牙-王者荣耀主播的人气排行
- 服务都微了,编排怎么整?
- [代码记录生活]Name evn is not bound in this Context 解决方案
- 搭建个人博客【搭建Hexo+Fluid博客并部署到GitHub/云服务器(阿里云/腾讯云)】