头图

时间

1.获得当前时间(Timestamp类型)

获得Timestamp时间类型的当前时间
可通过调整type = "yyyy-MM-dd HH:mm:ss" 来设置时间格式

public static Timestamp getNowTime(){
        String type = "yyyy-MM-dd HH:mm:ss";
        Date date1=new Date();
        SimpleDateFormat format1=new SimpleDateFormat(type);
        Timestamp time = Timestamp.valueOf(format1.format(date1));
        return time;
    }

运行结果:
image.png
image.png

2.获得当前时间(Date类型)

LocalDateTime nowTime = LocalDateTime.now();
        System.out.println(nowTime);

运行结果:
image.png

3.时间类型转换--String转换为Date类型

/**将字符串转换为日期*/
        String dateStr= "2018年12月18日";
        //设置日期字符串的格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        LocalDate date= LocalDate.parse(dateStr, formatter);
        System.out.println(date);

运行结果:
image.png

4.时间类型转换--Date类型转换为String

/**将日期转换为字符串*/
        LocalDateTime now = LocalDateTime.now();
        //设置转换后日期字符串的格式
        DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String nowStr = now.format(format);
        System.out.println(nowStr);

运行结果:
image.png

5.时间类型转换--String转换为Timestamp类型

String startTime = "2021-10-09 01:00:00";
        Timestamp timestampStart = Timestamp.valueOf(startTime);
        System.out.println(timestampStart);

运行结果:
image.png

6.时间类型转换--Timestamp类型转换为String

System.out.println("----------------时间类型转换--String转换为Timestamp类型-----------------------");
        String startTime = "2021-10-09 01:00:00";
        Timestamp timestampStart = Timestamp.valueOf(startTime);
        System.out.println(timestampStart);
        System.out.println("----------------时间类型转换--Timestamp类型转换为String-----------------------");
        String startTime1 = String.valueOf(timestampStart);
        System.out.println(startTime1);

运行结果:
image.png

7.获得上个月的月份--String类型

        LocalDate today = LocalDate.now();
        today = today.minusMonths(1);
        DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM");
        System.out.println(formatters.format(today));

运行结果:
image.png

8.获得昨日的当前时刻--Timestamp类型

        System.out.println("----------------获得昨日的当前时刻-----------------------");
        Calendar c = Calendar.getInstance();
        c.setTime(new Date());
        c.add(Calendar.DATE, -1);
        Date startTime111 = c.getTime();
        Timestamp timestampStart111 = new Timestamp(startTime111.getTime());
        System.out.println("昨日的当前时刻:" + timestampStart111);

运行结果:
image.png

9.获得昨日日期--String类型

        System.out.println("----------------获得昨日日期-----------------------");
        Calendar cal=Calendar.getInstance();
        cal.add(Calendar.DATE,-1);
        Date d=cal.getTime();
        SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd");
        String prevDay=sp.format(d);
        System.out.println(prevDay);

运行结果:
image.png

10.Date类型转为Timestamp类型

System.out.println("----------------Date类型转为Timestamp类型-----------------------");
        Date dateq = new Date();
        System.out.println("Date类型时间:" + dateq);
        Timestamp nousedate = new Timestamp(dateq.getTime());
        System.out.println("Timestamp类型时间:" + nousedate);

运行结果:
image.png

11.获取去年、上个月、昨天的日期(封装方法)

参数time为String形式的时间
例如:“2021-10-23”或“2021-10”或“2021”

public static String getPrev11(String time){
        String[] strings = time.split("-");
        if (Integer.parseInt(strings[strings.length - 1] ) <= 10){
            strings[strings.length - 1] = "0" + String.valueOf(Integer.parseInt(strings[strings.length - 1]) - 1);
        }else {
            strings[strings.length - 1] = String.valueOf(Integer.parseInt(strings[strings.length - 1]) - 1);
        }
        String time1 = StringUtils.join(strings, "-");
        return time1;
    }

运行结果:
image.png
image.png

12.获得当前是周几

判断今天是周几

/**当前是周几*/
    public static String getDayOfTheWeek(){
        String[][] strArray = {{"MONDAY", "一"}, {"TUESDAY", "二"},
                {"WEDNESDAY","三"},{"THURSDAY","四"},{"FRIDAY","五"},
                {"SATURDAY","六"},{"SUNDAY","七"}};
        LocalDate currentDate = LocalDate.now();
        String k = String.valueOf(currentDate.getDayOfWeek());
        for (int i =0; i < strArray.length; i++){
            if (k.equals(strArray[i][0])){
                k = strArray[i][1];
                break;
            }
        }
        return "周" + k;
    }

测试:
image.png
image.png

13.判断当前是否处于某时间段内(周几-周几)

假设要判断今天是否处于“周三—周六”之间,是的话返回true,不是返回false
(1)先将周几转换为对应的数字,例如周一:1、周三:3 ...

/**把周几转换为对应的数字*/
    public static int weekToNum(String week){
        switch (week){
            case "周一": return 1;
            case "周二": return 2;
            case "周三": return 3;
            case "周四": return 4;
            case "周五": return 5;
            case "周六": return 6;
            default: return 7;
        }
    }

(2)判断当前是否处于某一“周x—周x”的时间段内

public static boolean checkDay(String startWeek, String endWeek, String nowWeek){
        boolean result = false;
        int startWeekToNum = weekToNum(startWeek);
        int endWeekToNum = weekToNum(endWeek);
        int nowWeekToNum = weekToNum(nowWeek);
        if (nowWeekToNum >= startWeekToNum && nowWeekToNum <= endWeekToNum){
            result = true;
            return result;
        }else {
            return result;
        }
    }

测试:
image.png
结果:
image.png

14.判断当前时间是否处于某一时间段内

例如:判断当前时间是否处于“8:30--21:30”之间

/**判断当前时间是否处于某一时间段内*/
    public static boolean isInTime(String startTime, String endTime, String nowTime){
        String periodTime = startTime + "-" + endTime;
        if (periodTime ==null || !periodTime.contains("-") || !periodTime.contains(":")){
            throw new IllegalArgumentException("Illegal Argument arg:" + periodTime);
        }
        if (nowTime == null || !nowTime.contains(":")){
            throw new IllegalArgumentException("Illegal Argument arg:" + nowTime);
        }
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        try {
            long now = sdf.parse(nowTime).getTime();
            long start = sdf.parse(startTime).getTime();
            long end = sdf.parse(endTime).getTime();
            if (endTime.equals("00:00")){
                endTime = "24:00";
            }
            if (end < start){
                if (now >= end && now < start){
                    return false;
                }else {
                    return true;
                }
            }else {
                if (now >= start && now < end){
                    return true;
                }else {
                    return false;
                }
            }
        }catch (ParseException e){
            e.printStackTrace();
            throw new IllegalArgumentException("Illegal Argument arg:" + periodTime);
        }
    }

测试:
image.png
结果:
image.png


体面厂厂长
1 声望1 粉丝

卷死所有人