java获取系统当前时间(Java如何获取当前时间)

谁践踏了优雅 2023-09-26 15:31 102阅读 0赞

Java代码中如何获得当前时间

java.util.Date nowdate = new java.util.Date();然后如果你想时间的格式和你想用的时间格式一致 那么就要格式化时间了SimpleDateFormat 的包在java.text包下SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”) //年月日 时分秒String t = sdf.parse(nowdate);java.util.Date date = new Date(); date即是当前时间对象

可以用date.getTime() 得到毫秒数public String time()

Date date=new Date();

DateFormat format=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

String time=format.format(date);

return time;

}Date date=new Date();

DateFormat format=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

String time=format.format(date);

java获取系统当前时间

java获取网络当前时间

java获取网络时间

try {

URL url = new URL(“”);// 取得资源对象

URLConnection uc = url.openConnection();// 生成连接对象

uc.connect(); // 发出连接

long ld = uc.getDate(); // 取得网站日期时间

Date date = new Date(ld); // 转换为标准时间对象

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

int day = calendar.get(Calendar.DAY_OF_MONTH);

if (day == 6) {

return true;

} catch (Exception e) {

e.printStackTrace();

}如果你要获取的是Internet时间,可以使用NTP服务。

NTP概念简介

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

java实现:

import java.io.InputStream;

import java.net.Socket;

public class TimeUtil {

public static final int DEFAULT_PORT = 37;//NTP服务器端口

public static final String DEFAULT_HOST = “time-nw.nist.gov”;//NTP服务器地址

private TimeUtil() {

};

public static long currentTimeMillis(Boolean sync) {

if (sync != null && sync.booleanValue() != true)

return System.currentTimeMillis();

try {

return syncCurrentTime();

} catch (Exception e) {

return System.currentTimeMillis();

}

}

public static long syncCurrentTime() throws Exception {

// The time protocol sets the epoch at 1900,

// the java Date class at 1970. This number

// converts between them.

long differenceBetweenEpochs = 2208988800L;

// If you’d rather not use the magic number uncomment

// the following section which calculates it directly.

/*

* TimeZone gmt = TimeZone.getTimeZone(“GMT”); Calendar epoch1900 =

* Calendar.getInstance(gmt); epoch1900.set(1900, 01, 01, 00, 00, 00);

* long epoch1900ms = epoch1900.getTime().getTime(); Calendar epoch1970

* = Calendar.getInstance(gmt); epoch1970.set(1970, 01, 01, 00, 00, 00);

* long epoch1970ms = epoch1970.getTime().getTime();

*

* long differenceInMS = epoch1970ms - epoch1900ms; long

* differenceBetweenEpochs = differenceInMS/1000;

*/

InputStream raw = null;

try {

Socket theSocket = new Socket(DEFAULT_HOST, DEFAULT_PORT);

raw = theSocket.getInputStream();

long secondsSince1900 = 0;

for (int i = 0; i

secondsSince1900 = (secondsSince1900 <

}

if (raw != null)

raw.close();

long secondsSince1970 = secondsSince1900 - differenceBetweenEpochs;

long msSince1970 = secondsSince1970 * 1000;

return msSince1970;

} catch (Exception e) {

throw new Exception(e);

}

}

中国大概能用的NTP时间服务器

server 133.100.11.8 prefer

server 210.72.145.44

server 203.117.180.36 //程序中所用的

server 131.107.1.10

server time.asia.apple.com

server 64.236.96.53

server 130.149.17.21

server 66.92.68.246

server www.freebsd.org

server 18.145.0.30

server clock.via.net

server 137.92.140.80

server 133.100.9.2

server 128.118.46.3

server ntp.nasa.gov

server 129.7.1.66

server ntp-sop.inria.frserver 210.72.145.44(国家授时中心服务器IP地址)

ntpdate 131.107.1.10

ntpdate -s time.asia.apple.com中国科学院国家授时中心

string webUrl =

* 获取指定网站的日期时间

*

* @param webUrl

* @return

* @author SHANHY

* @date2015年11月27日

*/

private static String getWebsiteDatetime(String webUrl){

try {

URL url = new URL(webUrl);// 取得资源对象

URLConnection uc = url.openConnection();// 生成连接对象

uc.connect();// 发出连接

long ld = uc.getDate();// 读取网站日期时间

Date date = new Date(ld);// 转换为标准时间对象

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”, Locale.CHINA);// 输出北京时间

return sdf.format(date);

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return null;

}是在网页里写吗???

发表评论

表情:
评论列表 (有 0 条评论,102人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java获取当前时间

    Java获取当前时间 Java是一种广泛使用的编程语言,它提供了许多用于处理日期和时间的内置类和方法。在Java中,我们可以使用`java.util.Date`和`java.

    相关 java获取当前时间

    java获取当前时间   有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: