[英]Date Format Conversion in Java?
我有以下格式的JSON供稿中有一個日期:
mm/dd/yyyy for example today's date 10/26/2011
我想將其轉換為另一種格式,即將詳細的日期格式設置為:
Wed, 26 OCT 2011
我怎樣才能做到這一點..??? 我知道這可能很簡單,但是仍然是新手,我們將不勝感激。
這是一個示例,其中我在我的android應用中完全做到了這一點。
public String GetJustTime(String input){
SimpleDateFormat curFormater = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
Date dateObj = new Date();
try {
dateObj = curFormater.parse(input);
} catch (ParseException e) {}
SimpleDateFormat postFormater = new SimpleDateFormat("h:mm a");
String newDateStr = postFormater.format(dateObj);
return newDateStr;
}
只需根據需要更改2格式字符串即可。 第一個用於輸入格式,第二個用於輸出格式。
我相信您想要的輸出格式是“ EEE,d MMM YYYY”,但是我現在無法對其進行測試。
這不是很有教育意義,但是這里准備解決您的請求的解決方案:
String dateString = "10/26/2011";
String dateStringParsed = "";
SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("EEE, dd MMM yyyy");
try {
Date parsed = format1.parse(dateString);
dateStringParsed = format2.format(parsed);
}
catch(ParseException pe) {
//handle the exception
}
AFAIK,無法通過SimpleDateFormat使用月份中的大寫字母。 如果需要,您將不得不手動更改它。
除了使用SimpleDateFormat的解決方案外,僅想添加Joda的DateTimeFormatter( org.joda.time.format.DateTimeFormatter
)的替代解決方案,如果您最終做最少的事情,通常認為它是更好的日期/時間API。在代碼中使用日期或時間進行高級設置。 實際上,該解決方案可以全部內聯到一行,但是為了清楚起見,此處顯示了該解決方案:
String source = "10/26/2011";
String target = "Wed, 26 Oct 2011";
DateTimeFormatter sourceFormatter = DateTimeFormat.forPattern("MM/dd/yyyy");
DateTimeFormatter targetFormatter = DateTimeFormat.forPattern("E, dd MMM yyyy");
assertEquals(target, sourceFormatter.parseDateTime(source).toString(targetFormatter));
您可以看一下SimpleDateFormat類。 有關如何使用此功能的一個小示例,取自此處 :
String dateString = new String("07/12/2005");
java.util.Date dtDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yy");
SimpleDateFormat sdfAct = new SimpleDateFormat("dd/mm/yyyy");
try
{
dtDate = sdfAct.parse(dateString);
System.out.println("Date After parsing in required format:"+(sdf.format(dtDate)));
}
catch (ParseException e)
{
System.out.println("Unable to parse the date string");
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.