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

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

坑:网上基本上都是这样的解法
这里写图片描述

坑:很容易让人疑惑我全出来的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();
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值