簡體   English   中英

如何在Java中將以下字符串轉換為日期或日歷對象?

[英]How to convert the following string to date or calendar object in Java?

有一個像2011-03-09T03:02:10.823Z的字符串,如何將它轉換為Java中的日期或日歷對象?

您可以使用SimpleDateFormat#parse()將日期格式模式中的String轉換為Date

String string = "2011-03-09T03:02:10.823Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
Date date = new SimpleDateFormat(pattern).parse(string);
System.out.println(date); // Wed Mar 09 03:02:10 BOT 2011

有關所有模式字符的概述,請閱讀SimpleDateFormat javadoc的介紹性文本。


要將其進一步轉換為Calendar ,只需使用Calendar#setTime()

Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// ...

我想將“2017-01-11”顯示為“1月11日”,這是我的解決方案。

   SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
   SimpleDateFormat df_output = new SimpleDateFormat("MMM DD");
   Calendar cal=Calendar.getInstance();

   Date date = null;
        try {
              date = df.parse(selectedDate);
              String outputDate = df.format(date);
              date = df_output.parse(outputDate);


              cal.setTime(date);

          } catch (ParseException e) {
            e.printStackTrace();
          }
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = sdf.parse(strDate);
Calendar cal = Calendar.getInstance();
cal.setTime(date);

試試這個。(strDate id你的字符串格式為Date)

import java.util.*;
import java.text.*;
public class StringToCalender {
public static void main(String[] args) {
try {    String str_date="11-June-07";
     DateFormat formatter ; 
 Date date ; 
      formatter = new SimpleDateFormat("dd-MMM-yy");
          date = (Date)formatter.parse(str_date); 
   Calendar cal=Calendar.getInstance();
   cal.setTime(date);
           System.out.println("Today is " +date );
} catch (ParseException e)
{System.out.println("Exception :"+e);    }   

 }
}      

您的給定日期將被視為使用parse()方法轉換為日期類型的字符串。 parse()方法調用DateFormat的對象。 setTime(日期日期)將格式化日期設置為日歷。 此方法使用Date對象調用Calendar對象。 參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM