簡體   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