Calendar将long类型时间转为Date类型并比较

package com.itheima.test;

import java.util.Calendar;
import java.util.Date;

public class Test3 {
    public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        long l = System.currentTimeMillis();
        instance.setTimeInMillis(l);
        Date dateStart = instance.getTime();
        System.out.println("dateStart = " + dateStart);

        Date date = new Date();
        Calendar instance2 = Calendar.getInstance();
        instance2.setTime(date);
        //10分钟后,600秒
        instance2.add(Calendar.SECOND,600);
        Date dateEnd = instance2.getTime();
        System.out.println("dateEnd = " + dateEnd);

        if(dateStart.compareTo(dateEnd)<0){
            System.out.println("ok");
        }

    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java中,可以使用以下方法将时间类型的数据转换为long类型: 1. getTime()方法:如果您有一个java.util.Date对象,您可以使用它的getTime()方法将其转换为long类型时间戳,例如: ``` Date date = new Date(); long timestamp = date.getTime(); ``` 2. toInstant()方法:如果您有一个Java 8的LocalDateTime或ZonedDateTime对象,您可以使用它的toInstant()方法将其转换为Instant对象,然后使用Instant对象的toEpochMilli()方法将其转换为long类型时间戳,例如: ``` LocalDateTime localDateTime = LocalDateTime.now(); Instant instant = localDateTime.toInstant(); long timestamp = instant.toEpochMilli(); ``` 3. parse()方法:如果您有一个时间格式的字符串,您可以使用它的parse()方法将其转换为java.util.Date对象,然后再使用getTime()方法将其转换为long类型时间戳,例如: ``` String dateString = "2022-01-01T12:00:00.000Z"; Date date = Date.parse(dateString); long timestamp = date.getTime(); ``` 请注意,Java中的时间戳是从1970年1月1日00:00:00.000 GMT开始计算的,以毫秒为单位。 ### 回答2: 将时间类型的数据转为Long类型可以通过以下几种方式实现: 1. 使用getTime()方法:对于Java中的Date类或Calendar类对象,可以使用getTime()方法获取其对应的毫秒值,即从1970年1月1日00:00:00开始的时间戳,然后将其转换为Long类型。 示例代码: ```java Date date = new Date(); // 假设为当前时间 Long timestamp = date.getTime(); System.out.println(timestamp); ``` 2. 使用parse()方法:对于Java中的SimpleDateFormat类可以使用其parse()方法将字符串类型时间转换为Date对象,然后再使用getTime()方法将其转换为Long类型。 示例代码: ```java String timeStr = "2022-01-01 00:00:00"; // 假设为时间字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse(timeStr); Long timestamp = date.getTime(); System.out.println(timestamp); ``` 3. 使用toInstant()方法:对于Java 8及以上版本中的LocalDateTime类,可以使用其toInstant()方法将其转换为Instant对象,然后再使用toEpochMilli()方法将其转换为毫秒值,最后将其转换为Long类型。 示例代码: ```java LocalDateTime dateTime = LocalDateTime.now(); // 假设为当前时间 Instant instant = dateTime.toInstant(); Long timestamp = instant.toEpochMilli(); System.out.println(timestamp); ``` 以上是将时间类型的数据转为Long类型的几种常见方式,根据具体的情况可选择合适的方式进行转换。 ### 回答3: 将时间类型的数据转为Long类型,可以使用Java中的Date类和Calendar类来实现。 首先,使用SimpleDateFormat类将时间类型的数据转换为日期格式的字符串。例如,假设时间类型的数据是一个String类型的变量timeStr,表示格式为"yyyy-MM-dd HH:mm:ss"的时间数据。 ```java String timeStr = "2022-01-01 12:00:00"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = dateFormat.parse(timeStr); ``` 接着,使用Calendar类将Date对象转换为Long类型时间戳。时间戳是自1970年1月1日以来的毫秒数。 ```java Calendar calendar = Calendar.getInstance(); calendar.setTime(date); long timestamp = calendar.getTimeInMillis(); ``` 最后,可以将Long类型时间戳用于需要进行时间计算或比较的操作。 需要注意的是,上述代码中的时间格式和转换方式是示例,实际应根据时间类型的具体格式和转换需求进行调整。另外,也可以使用其他第三方库或Java 8中新增的DateTime API来进行时间类型转换。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值