如何将日期转换为不同的格式

时间:2013-09-06 04:30:39

标签: java android date simpledateformat

您好我从api服务获得了一些数据,它包含日期,日期格式为2013-09-06T14:15:11.557

它的格式是什么?我们如何将这个日期转换为2013 sept 06 2:15

我使用这两种方法将它们转换为我的日期格式

public static Date stringToDate(String dateString)
    {
        Date date = null;
        DateFormat df = new SimpleDateFormat(Constants.DATE_FORMAT_WITHOUT_TIME);
        try {
            date = df.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

public static String FormatDate(String dateString)
    {
        String s="";
        Date date = stringToDate(dateString);
        s = date.getDate()+" "+monthname[date.getMonth()+1]+" "+(date.getYear()+1900);
        return s;
        }

这是我的日期格式常量public static final String DATE_FORMAT_WITHOUT_TIME = "yyyy-MM-dd"; 但它解析不能正常工作

3 个答案:

答案 0 :(得分:5)

你可以试试这个

    String date="2013-09-06T14:15:11.557";
    DateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    Date d=df.parse(date);
    df=new SimpleDateFormat("yyyy-MMM-dd hh:mm");
    System.out.println(df.format(d));

out put:

    2013-Sep-06 02:15

答案 1 :(得分:3)

SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");//Edit here depending on your requirements
dateFormat.setLenient(false);
String currentDateandTime1 = dateFormat.format(new Date());
Date dateObj = new Date();
dateObj = dateFormat.parse(stime);
Log.v("Hello", "" + dateFormat.format(dateObj));

答案 2 :(得分:0)

像魅力一样工作

public static String FormatDate(String dateString) {

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