[英]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.