首页 > 试题广场 >

日期计算

[编程题]日期计算
  • 热度指数:160 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
根据产品策略某本书可以设置包月到期时间,需要计算指定时间到包月到期时间还有多少分钟,不足60S的不计入。



输入描述:
输入共两行
第一行为指定时间,格式为 2020-02-01 12:00:00
第二行为到期时间,格式为 2020-02-01 12:01:00


输出描述:
输出参数为一行,为剩余分钟如1
示例1

输入

2020-02-01 12:00:00
2020-02-01 12:01:00

输出

1
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Scanner scanner = new Scanner(System.in);
        String strBegin = scanner.nextLine();
        String strEnd = scanner.nextLine();
        Date begin = simpleDateFormat.parse(strBegin);
        Date end = simpleDateFormat.parse(strEnd);
        long res = end.getTime() - begin.getTime();
        System.out.println(res / 1000 / 60);
    }

}

发表于 2021-02-23 10:49:41 回复(0)
import  java.time.LocalDateTime;
import  java.time.format.DateTimeFormatter;
import  java.util.Scanner;
import  java.time.Duration;

public class Main{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 读取输入数据"yyyy-MM-dd HH:mm:ss"
        String begin = scan.nextLine();
        String after = scan.nextLine();
        LocalDateTime localDateBegin = LocalDateTime.parse(begin, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        LocalDateTime localDateAfter = LocalDateTime.parse(after, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        Duration between = Duration.between(localDateBegin, localDateAfter);
        long minutes = between.toMinutes(); // 使用工具类计算分钟差值
        System.out.println(minutes);
    }
}

编辑于 2022-04-07 20:14:48 回复(0)
    public static String dateSub(String a, String b) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            sdf.parse(a);
            LocalDateTime t1 =  LocalDateTime.parse(a, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
            t2 = LocalDateTime.parse(b, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            long pass = t1.until(t2, ChronoUnit.MINUTES);
            return String.valueOf(Math.abs(pass));
        } catch (Exception e) {
            System.out.println(String.format("格式转化错误:%s, 检查是否格式输入错误", e.getMessage()));
        }
        return "0";
    }

    public static void main(String[] args) {
        System.out.println("请输入指定的两个日期【小者在前,大者在后,格式:yyyy-MM-dd hh:mm:ss】:");
        Scanner sc = new Scanner(System.in);
        String a = sc.nextLine(), b = sc.nextLine();
        sc.close();
        System.out.println(dateSub(a, b));
    }

发表于 2022-03-09 14:00:23 回复(0)
package com.dume.server.face;

import javax.xml.crypto.Data;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * 根据产品策略某本书可以设置包月到期时间,
 * 需要计算指定时间到包月到期时间还有多少分钟,不足60S的不计入。
 */

public class ExpireDate {

    public static void main(String[] args) {
        System.out.println("请输入产品到期时间,格式为“yyyy-MM-dd HH:mm:ss” :");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Scanner scanner = new Scanner(System.in);
        String string = scanner.nextLine();

        Date end = new Date();
        try{
            end = simpleDateFormat.parse(string);   
        }catch(Exception e){
            System.out.println("时间格式错误!");
        }
        
        long endTime = end.getTime();
        long nowTime = System.currentTimeMillis();
       
        if(endTime<nowTime){
            System.out.println("到期时间不能在此刻之前!");
        }else{
            System.out.println("到期时间剩余" +(endTime-nowTime)/(60*1000)+"分钟");
        }
    }
}

发表于 2021-02-24 14:41:05 回复(0)
    public static Integer getMinutes(Date date1, Date date2) {
        if (date1 != null && date1 != null) {
            Long time1 = date1.getTime();
            Long time2 = date2.getTime();
            Long minutes = Math.abs((time1 - time2) / (60 * 1000));

            return minutes.intValue();
        }
        return 0;
    }

发表于 2021-01-28 17:30:20 回复(0)