Java 将“2013-07-21T10:31:00”字符串转换为“2013年7月20日”格式字符串

Java 将“2013-07-21T10:31:00”字符串转换为“2013年7月20日”格式字符串,java,android,android-studio,Java,Android,Android Studio,如何将2013-07-21T10:31:00字符串转换为2013年7月20日格式字符串 目前,我从web service 2013-07-21T10:31:00获得一个字符串输出。我想将此字符串转换为2013年7月20日的格式字符串。您可以尝试此操作 String strDate="2013-07-21T10:31:00"; DateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss"); Date date=df.

如何将2013-07-21T10:31:00字符串转换为2013年7月20日格式字符串

目前,我从web service 2013-07-21T10:31:00获得一个字符串输出。我想将此字符串转换为2013年7月20日的格式字符串。

您可以尝试此操作

    String strDate="2013-07-21T10:31:00";
    DateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
    Date date=df.parse(strDate);
    df=new SimpleDateFormat("dd-MMM-yyyy");
    System.out.println(df.format(date));

Live

您也应该使用此功能:

String date="2013-07-21T10:31:00";
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
inputFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
DateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date parsed = new Date();
try
{
    parsed = inputFormat.parse(date);
}
catch (ParseException e)
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}
String outputText = outputFormat.format(parsed);
这样试试

public  String FormatDate(String dateString) {

        try {
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
            Date d = sd.parse(dateString);
            sd = new SimpleDateFormat("yyyy-MMM-dd");
            System.out.println(sd.format(d));
            return sd.format(d);
        } catch (Exception e) {
        }
        return "";
    }

听起来您需要使用一个SimpleDataFormat来解析,另一个SimpleDataFormat来格式化。你试过什么?@JonSkeet我对android和java@Vinoth:那么,在提出问题之前,你做了哪些研究?您是否搜索了Stack Overflow或web的其他部分以转换日期格式?谢谢大家。。我使用这个链接得到了结果