yeahigh
2017-08-08 01:50
采纳率: 100%
浏览 1.1k
已采纳

java日期格式转换问题

为什么输入日期格式为yyyy-MM-dd但是输出之后每个数字都进行减一?
例如:输入(String) 2015-01-01转换为Date输出之后成了2014-12-01
但是其他格式:yyyy年MM月dd日 yyyy/MM/dd 转换后可以正确转换

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • Android 研发 2017-08-08 02:18
    已采纳

    楼主:yyyy-MM-dd 这个格式的日期字符串可以被 yyyyMMdd 格式化。

    点赞 评论
  • yeahigh 2017-08-08 01:51

    图片说明

    点赞 评论
  • yeahigh 2017-08-08 01:51

    图片说明

    点赞 评论
  • yeahigh 2017-08-08 01:52

    顶楼顶楼,求大神帮助

    点赞 评论
  • yeahigh 2017-08-08 01:52

    public class MyConverter extends StrutsTypeConverter {

    private SimpleDateFormat[] simpleDateFormat = {
        new SimpleDateFormat("yyyy年MM月dd日"),  
        new SimpleDateFormat("yyyy/MM/dd"), 
        new SimpleDateFormat("yyyy.MM.dd"), 
        new SimpleDateFormat("yyyyMMdd"),   
        new SimpleDateFormat("yyyy-MM-dd")  
    };
    
    @Override
    public Object convertFromString(Map context, String[] values, Class toClass) {
        if(values == null || values.length == 0){
            return null;
        }
        if(Date.class != toClass){
            return null;
        }
        for(SimpleDateFormat sdf : simpleDateFormat){
            try {
                Date date = sdf.parse(values[0]);
                return date;
            } catch (ParseException e) {
                continue;
    

    // e.printStackTrace();
    // throw new RuntimeException(e);
    }
    }
    return null;
    }

    @Override
    public String convertToString(Map context, Object o) {
        // TODO Auto-generated method stub
        return null;
    }
    

    }

    
    
    点赞 评论
  • Android 研发 2017-08-08 01:57

    楼主:月份是从0-11

    点赞 评论
  • Tsui丶 2017-08-08 02:13

    你需要DeBug走一下程序看下String类型的Date 此值是否存在问题(应该是存在问题的)。

    点赞 评论
  • Android 研发 2017-08-08 02:16

    图片说明
    楼主我测试了下,出现以上情况。

    点赞 评论
  • Android 研发 2017-08-08 02:28

    yyyy-MM-dd 这个格式的字符串 按理说不应被 yyyyMMdd 这个格式 可以格式化的 , 但是在JAVA 中 可以被yyyyMMdd格式化 的,具体原因不知道 ,可能是JAVA的一个bug。

    楼主:你把yyyyMMdd 换成 yyyymmdd 。这样,虽然可以被格式化,但是格式化出来是正常的。

    点赞 评论
  • Android 研发 2017-08-08 02:31

    楼主:不好意思 --- “你把yyyyMMdd 换成 yyyymmdd 。这样,虽然可以被格式化,但是格式化出来是正常的。 ” 这个是不对的

    点赞 评论

相关推荐 更多相似问题