美文网首页Android 进阶之路Android 填坑之路
Android 时间戳转换成时间总是1970年的问题!!!!!

Android 时间戳转换成时间总是1970年的问题!!!!!

作者: 雪纳瑞的哈士奇 | 来源:发表于2018-10-14 10:52 被阅读238次

    我当时是这样写的

    /**
     * 时间戳转换成时间
     */
    public static String stampToDate(long stamp, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);//这个是你要转成后的时间的格式
        Date date = new Date(stamp);
        String sd = sdf.format(date);
        return sd;
    }
    
    /**
     * 时间戳转化时间
     *
     * @param milSecond
     * @param pattern
     * @return
     */
    public static String getDateToString(String milSecond, String pattern) {
        long lt = new Long(milSecond);
        return stampToDate(lt,pattern);
    }
    

    为了方便调用 我写了两个方法 一个是当传入的时间戳是字符串的时候调用 一个是当时间戳传入的值是 long 类型的时候调用
    但是每次的返回值都是1970年,从来没想过这样简单的问题还会出现错误,然后就是各种打断,查看是不是时间戳的问题 log 出来的值放到在线时间戳转换器中也是正确的时间 就查了查资料 就修改了一行代码

    /**
     * 时间戳转换成时间
     */
    public static String stampToDate(long stamp, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);//这个是你要转成后的时间的格式
        Date date = new Date(stamp * 1000);
        String sd = sdf.format(date);
        return sd;
    }
    
    /**
     * 时间戳转化时间
     *
     * @param milSecond
     * @param pattern
     * @return
     */
    public static String getDateToString(String milSecond, String pattern) {
        long lt = new Long(milSecond);
        return stampToDate(lt,pattern);
    }
    

    将 Date date = new Date(stamp); 换成了Date date = new Date(stamp * 1000);然后问题解决
    其原因应该就是毫秒和秒的问题 没有具体查询 欢迎书友指正错误

    相关文章

      网友评论

        本文标题:Android 时间戳转换成时间总是1970年的问题!!!!!

        本文链接:https://www.haomeiwen.com/subject/xgdzaftx.html