Date时间戳string之间转换

在这里插入图片描述

public class test {
    public static void main(String[] args) throws Exception {
        String stampStr = getTimeStampStr();//获取当前时间戳Str
        Long stampLong = getTimeStampLong();
        Date date = getDate(); //获取当前date
        String dateStr = getDateStr();

        String stampStr1 = dateStrToStampStr(dateStr);//2020-08-07 11:22:26-> 1596770546000
        Date dateStr2 = dateStr2Date(dateStr); //2020-08-07 11:22:26-> Fri Aug 07 11:22:26 CST 2020
        Long stampLong2 = date2StampLong13(date);//Fri Aug 07 11:22:26 CST 2020-> 1596770546236
        String dateStr3 = stampStrToDateStr(stampStr);//1596770546-> 2020-08-07 11:22:26
        String dateStr4 = stampLong2DateStr(stampLong);//1596770546-> 2020-08-07 11:22:26
        Date date1 = stampStr2Date(stampStr);//1596770546-> Fri Aug 07 11:22:26 CST 2020

        System.out.println(dateStr + "-> " + stampStr1);
        System.out.println(dateStr + "-> " + dateStr2);
        System.out.println(date + "-> " + stampLong2);
        System.out.println(stampStr + "-> " + dateStr3);
        System.out.println(stampLong + "-> " + dateStr4);
        System.out.println(stampStr + "-> " + date1);


    }
    /**
     * 将dateStr转换为StampStr
     * "2019-03-31 17:46:23" -> "1554025583000"
     */
    public static String dateStrToStampStr(String dateStr) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = simpleDateFormat.parse(dateStr);
        return String.valueOf(date.getTime());
    }

    /**
     * Datestr时间转Date
     * "2019-03-31 17:46:23" -> Sun Mar 31 17:46:23 CST 2019
     **/
    public static Date dateStr2Date(String time) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.parse(time);
    }

    /**
     * Date转时间戳(默认13位)
     *
     * @param date
     */
    public static Long date2StampLong13(Date date) throws ParseException {
        return date.getTime();
    }

    /**
     * 将时间戳String转换为DateStr
     * "1554025583000" ->"2019-03-31 17:46:23"
     */
    public static String stampStrToDateStr(String stampStr) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return simpleDateFormat.format(new Date(new Long(stampStr + "000")));
    }

    /**
     * long时间戳转Datestr日期
     * 1554025583 -> Date 2019-03-31 17:46:23
     **/
    public static String stampLong2DateStr(long time) {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time * 1000));
    }

    /**
     * str时间戳转Date类型
     * 加 000 是先转成ms毫秒
     * "1554025583" -> Sun Mar 31 17:46:23 CST 2019
     */
    public static Date stampStr2Date(String time) {
        return new Date(Long.valueOf(time + "000"));
    }

    /**
     * 取得当前时间戳(精确到秒)
     *
     * @return
     */
    public static String getTimeStampStr() {
        return String.valueOf(System.currentTimeMillis() / 1000);
    }

    public static Long getTimeStampLong() {
        return System.currentTimeMillis() / 1000;
    }

    public static Date getDate() {
        return new Date();
    }

    public static String getDateStr() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateStr = sdf.format(new Date());
        return dateStr;
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将String类型的时间转换Date,你可以使用DateFormat或DateTimeFormatter来实现。 方法一:使用DateFormat 你可以使用DateFormat及其子类SimpleDateFormat来进行格式化和解析日期。首先,你需要创建一个SimpleDateFormat对象,并指定你想要的日期格式,比如"yyyy-MM-dd HH:mm:ss"。然后,使用该对象的parse方法将String类型的时间转换Date类型。以下是一个示例代码: ``` DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = simpleDateFormat.parse("2018-06-16 10:00:00");``` 其中,"2018-06-16 10:00:00"是你要转换String类型的时间。 方法二:使用DateTimeFormatter(JDK8以上) 如果你使用的是JDK8及以上版本,你可以使用DateTimeFormatter来代替SimpleDateFormat。DateTimeFormatter是线程安全的。首先,你需要创建一个DateTimeFormatter对象,并指定你想要的日期格式,比如"yyyy-MM-dd HH:mm:ss"。然后,使用该对象的parse方法将String类型的时间转换为LocalDate类型。以下是一个示例代码: ``` DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDate date = LocalDate.parse("2018-06-16 10:00:00", formatter); ``` 其中,"2018-06-16 10:00:00"是你要转换String类型的时间。 在以上两种方法中,你可以根据你的具体需求选择适合的方法来进行String类型时间转换。同时,记得根据你所使用的类库的版本来选择合适的方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值