Unix时间戳和北京时间相互转换

场景需求:界面上有时间显示,不管是服务端还是app端需要将Unix时间戳转换成北京时间

坑:网上基本上都是这样的解法
Unix时间戳和北京时间相互转换_第1张图片

坑:很容易让人疑惑我全出来的123456789是int类型的,其实这个123456789是long类型的。
具体Code代码如下:

 //将Unix时间戳转化为平常时间
    public static String[] strToDate(String strDate) {   //
        Long timestamp = Long.parseLong(strDate) * 1000;
        String date = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date(timestamp));
        String[] s = date.split("-");
        return s;
    }

    //将Unix时间戳转北京时间
    public static String[] strToBJDate(String strDate) {
        String date = new java.text.SimpleDateFormat("MM-dd-HH").format(new java.util.Date(Long.parseLong(strDate) * 1000));
        String[] s = date.split("-");
        return s;
    }

    //将Unix时间戳转北京时间 //yyyy-MM-dd HH:mm:ss
    public static String[] strToDayDate(String strDate) {
        String date = new java.text.SimpleDateFormat("dd-HH").format(new java.util.Date(Long.parseLong(strDate) * 1000));
        String[] s = date.split("-");
        return s;
    }


    //将Unix时间戳转北京时间
    public static String strOrgin(String strDate) {
        String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(Long.parseLong(strDate) * 1000));
        return date;
    }


    public static String getNowDate() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = formatter.format(currentTime);
        return dateString;
    }


    public static int compare_date(String DATE1, String DATE2) {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        try {
            Date dt1 = df.parse(DATE1);
            Date dt2 = df.parse(DATE2);
            if (dt1.getTime() > dt2.getTime()) {
                System.out.println("dt1 在dt2前");
                return 1;
            } else if (dt1.getTime() < dt2.getTime()) {
                System.out.println("dt1在dt2后");
                return -1;
            } else {
                return 0;
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 0;
    }

将普通时间转Unix时间:

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
        String dateString = "2016/3/15 22:55:47";
        Date date = df.parse(dateString);
         long m=date.getTime();

你可能感兴趣的:(unix)