时间和时间戳的转换

Java计算时间差、日期差总结

一、 java比较时间大小

 String beginTime=new String("2017-06-09 10:22:22"); 
 String endTime=new String("2017-05-08 11:22:22"); 

1 直接用Date自带方法before()和after()比较

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);

System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));

2 用String的compareTo()方法:

Integer i=beginTime.compareTo(endTime);
System.out.println(i);

返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致

3 转成date格式换成秒数比较秒数大小,getTime()方法

  Date sd1=df.parse(beginTime);
  Date sd2=df.parse(endTime);

  long long1 =sd1.getTime()
  long long2= sd2.getTime()

二、SimpleDateFormat方法

1)parse:将字符串转换成时间
(2)format:将时间转换成字符串

yyyy年MM月dd日 HH时mm分–》时间戳
时间字符串转时间戳

 public static String dateToStamp(String s,String format) {//yyyy年MM月dd日 HH时mm分
        String res="";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        try {
            res = String.valueOf(simpleDateFormat.parse(s).getTime()/1000);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return res;//时间戳
    }

date转时间戳

  public static String dateToStamp(Date date, String format) {//yyyy年MM月dd日 HH时mm分
        String res = "";//设置时间格式,将该时间格式的时间转换为时间戳
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        res = String.valueOf(date.getTime() / 1000);
        return res;
    }

JAVA时间戳长度是13位,如:1294890876859
PHP时间戳长度是10位, 如:1294890859

1.php时间戳转成java时间

需要在PHP传过来的时间戳后面加三个0,因为PHP的时间戳的单位是秒,java的是毫秒
 public static String getTime(String time) {
        if (TextUtils.isEmpty(time)) {
            return "";
        }
        String dateTime;
        Date d2 = new Date(Long.parseLong(time + "000"));
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateTime = df.format(d2);
        return dateTime;
    }

2.java时间转成java时间戳

 public static String Date2TimeStamp(String dateStr, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(dateStr).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

3.java时间转成PHP时间戳

 public static String Date2TimeStamp(String dateStr, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(dateStr).getTime()/1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

4.获取当前时间并格式化

 private String getCurrentTime() {
        String currentTime = "";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM");
        currentTime = simpleDateFormat.format(new Date());
        return currentTime;
    }

5.将date类型的时间进行格式化

   private String getTime(Date date) {
        String time = "";
//      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM");
        time = simpleDateFormat.format(date);
        return time;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值