[英]Converting direct Date to String using SimpleDateFormat
我知道這可能是一個愚蠢的問題,但是我很難用SimpleDateFormat
將Date轉換為字符串。 我有一個本地約會
“ PDT 2013年7月18日星期四18:56:51”
我正在嘗試將其直接轉換為格式
“ yyyy-MM-dd'T'hh:mm:ss”。
我想要的字符串看起來像這樣:
“ 2013-07-18T18:56:51”
我得到的是:
“ 2013-07-18T06:56:51”
任何幫助,將不勝感激。
您正在使用hh
,這是12小時制。 您想改用HH
:
"yyyy-MM-dd'T'HH:mm:ss"
- hh-上午/下午的小時數(1-12)
- HH-每小時(0-23)
- kk-每小時(1-24)
- KK-上午/下午的時間(0-11)
(很奇怪為什么他們將kk
/ KK
的12/24小時大寫字母反轉了,但這超出了我的kk
,但是隨后整個Java日期/時間API都變得很瘋狂...)
另外,雖然看起來您現在還可以,但值得考慮時區方面。 Date
沒有時區或日歷的任何概念-只是時間的瞬間。 SimpleDateFormat
確實具有關聯的時區和日歷(和區域性),因此請確保它們對於您的目的是正確的。
您必須使用HH
而不是hh
:
yyyy-MM-dd'T'HH:mm:ss
信函日期或時間組成部分演示示例
H時數(0-23)數字0
k一天中的小時(1-24)數字24
K小時,上午/下午(0-11)數字0
h小時在上午/下午(1-12)12號
您可以在此處閱讀有關Date
更多信息。
包com.stackoverflow.experiments;
導入java.text.SimpleDateFormat; 導入java.util.Calendar;
公共類SimpleDateFormatExperiment {
/**
*
*/
public SimpleDateFormatExperiment() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(Calendar.getInstance().getTime()));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.