如何把日期转换成不同的格式?

代码小屋 其他问答 1

我从 api 服务器中获取一些数据,包含数据和数据格式 2013-09-06T14:15:11.557 。 这是什么格式呢?如何把这个数据格式转换为 2013 sept 06 2:15 我使用下面2中方法来转换日期格式

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"; ,但是解析的不正确。

回复

共2条回复 我来回复
  • 毕设工坊
    这个人很懒,什么都没有留下~
    评论

    你确信是sept,不是Sep,那样就简单多了。

    下面是sept的代码。

        String fromFormat = "yyyy-MM-dd'T'hh:mm:ss.S";
        String toFormat = "yyyy '%s' dd h:m";
        String monthFormat = "MMMM";
    
        SimpleDateFormat sdf = new SimpleDateFormat(fromFormat);
        Date d = sdf.parse("2013-09-06T14:15:11.557");
    
        sdf = new SimpleDateFormat(toFormat);
        String s = sdf.format(d);
        String m = new SimpleDateFormat(monthFormat, Locale.ENGLISH).format(d);
        s = String.format(s, m.substring(0, 4).toLowerCase());
    
        System.out.println(s);
    
    0条评论
  • 毕设向导
    这个人很懒,什么都没有留下~
    评论

    你可以试一下下面的代码:

    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));
    

    输出:

    2013-Sep-06 02:15
    
    0条评论

发表回复

登录后才能评论