繁体   English   中英

来自 java 服务器的实时日期?

[英]real-time date from server on java?

如何从我的jar部署在java的服务器上获取实时日期和时间?

我想将我的订单创建日期设置为服务器收到请求的日期时间,在 java 中我该怎么做?

我试过了:

  Date newDate = new Date();
  Date createdDate = DATE_FORMATTER_SERVER.parse(DATE_FORMATTER_SERVER.format(newDate));

     

tl;博士

java.time.Instant.now().toString() 

细节

切勿使用DateSimpleDateFormat 这些遗留类在设计上存在严重缺陷。 多年前,它们被 JSR 310 中定义的现代java.time类所取代。

捕获 UTC 中显示的当前时刻,即零小时-分钟-秒的偏移量。

Instant instant = Instant.now() ;

使用 ISO 8601 的标准格式序列化为文本。

String output = instant.toString() ;

解析这样的字符串。

Instant instant = Instant.parse( input ) ;

尝试以下操作并根据您的需要进行调整:

 Date remoteDate = null;
 URL url = new URL(REMOTE_SERVER_URL);
 URLConnection urlConnection = url.openConnection();
 HttpURLConnection connection = (HttpURLConnection) urlConnection;
 connection.setConnectTimeout(10000);
 connection.setReadTimeout(10000);
 connection.setInstanceFollowRedirects( true );
 connection.setRequestProperty( "User-agent", "spider" );
 connection.connect();
 
 Map<String,List<String>> header = connection.getHeaderFields();
 for (String key : header.keySet()) {
     if (key != null && "Date".equals(key)) {
         List<String> data = header.get(key);
         String dateString = data.get(0);
         SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss");
         remoteDate = sdf.parse(dateString);
         break;
     }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM