[英]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));
java.time.Instant.now().toString()
切勿使用Date
和SimpleDateFormat
。 這些遺留類在設計上存在嚴重缺陷。 多年前,它們被 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.