时间类型转化Date【待完善】

一、

public class Test {
    public static void main(String[] args) throws ParseException {
        //1480521600000转Date
        String str = "1480521600000";
        Date d = new Date(Long.parseLong(str));
        System.out.println(d);

        String str1 = "20190130";
        Date date = new SimpleDateFormat("yyyyMMdd").parse(str1);//"yyyyMMdd"要与str1的类型一致!
        System.out.println(date);
    }
}

二、get Date()
getDate()不能处理yyyy-MM这样形式的。
com.alibaba.fastjson.JSONException: can not cast to Date, value : 2019-05

        //"{\"GRName\":\"八戒\",\"PayToMonth\":\"2019-05\",\"PayTime\":\"2019-05-01\",\"ZHStatus\":\"正常\"}"
        String str = "\"{\\\"GRName\\\":\\\"八戒\\\",\\\"PayToMonth\\\":\\\"2019-05\\\",\\\"PayTime\\\":\\\"2019-05-01\\\",\\\"ZHStatus\\\":\\\"正常\\\"}\"";
        //去掉双引号之前的\
        String replaceStr = str.replaceAll("\\\\", "");
        //去掉首末的“”
        String substring = replaceStr.substring(1, replaceStr.length() - 1);
        //转为json
        JSONObject jsonObject = JSONObject.parseObject(substring);
        System.out.println(jsonObject.toJSONString());
        System.out.println(jsonObject.toString());

        Date PayTime = jsonObject.getDate("PayTime");
        System.out.println(PayTime);
        
        Date payToMonth = jsonObject.getDate("PayToMonth");
        System.out.println(payToMonth);

报错:
{“GRName”:“八戒”,“PayToMonth”:“2019-05”,“PayTime”:“2019-05-01”,“ZHStatus”:“正常”}
{“GRName”:“八戒”,“PayToMonth”:“2019-05”,“PayTime”:“2019-05-01”,“ZHStatus”:“正常”}
Wed May 01 00:00:00 CST 2019
Exception in thread “main” com.alibaba.fastjson.JSONException: can not cast to Date, value : 2019-05
at com.alibaba.fastjson.util.TypeUtils.castToDate(TypeUtils.java:466)
at com.alibaba.fastjson.util.TypeUtils.castToDate(TypeUtils.java:399)
at com.alibaba.fastjson.JSONObject.getDate(JSONObject.java:327)
at TestDateTransform.main(TestDateTransform.java:28)

修改:

//        Date payToMonth = jsonObject.getDate("PayToMonth");
//        System.out.println(payToMonth);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMM");
        String payToMonth = jsonObject.getString("PayToMonth");
        try {
            Date parse = dateFormat.parse(payToMonth);
            System.out.println(payToMonth);
        } catch (ParseException e) {
            e.printStackTrace();
        }

结果:
2019-05

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值