使用JAVA来获得本日,本周,本月,本年的时间信息

该程序实例展示了如何使用Java的Calendar和SimpleDateFormat类获取当前日期、本周、本月和本年的起止时间,将结果以字符串集合的形式返回。主要方法包括getToday、getCurrentWeek、getCurrentMonth和getCurrentYear,每个方法都返回两个时间点,分别代表时间段的开始和结束。
摘要由CSDN通过智能技术生成

本文来编写一个例子来获得本日,本周,本月,本年的时间信息。

文章目录


程序实例

程序实例

package cn.yiyiyun.zl.utils;


import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/***
 * 获得不同
 * 的日期
 */
@Slf4j
public class DateUtil {
    

    /**
     * 获取今天的时间范围
     * @return 返回长度为2的字符串集合,如:[2022-11-11 00:00:00, 2022-11-11 24:00:00]
     */
    public static List<String> getToday() {

        List<String> dataList = new ArrayList<>(2);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.DATE, 0);
        String today = dateFormat.format(calendar.getTime());
        dataList.add(today + " 00:00:00");
        dataList.add(today + " 24:00:00");
        log.info("当天时间:" + dataList);
        return dataList;
    }

    /**
     * 获取本周的时间范围
     * @return 返回长度为2的字符串集合,如:[2022-05-02 00:00:00, 2022-05-08 24:00:00]
     */
    public static List<String> getCurrentWeek() {

        List<String> dataList = new ArrayList<>(2);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置周一为一周之内的第一天
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        String monday = dateFormat.format(calendar.getTime()) + " 00:00:00";
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        String sunday = dateFormat.format(calendar.getTime()) + " 24:00:00";
        dataList.add(monday);
        dataList.add(sunday);
        log.info("本周时间:" + dataList);
        return dataList;
    }

    /**
     * 获取本月的时间范围
     * @return 返回长度为2的字符串集合,如:[2022-11-01 00:00:00, 2022-11-30 24:00:00]
     */
    public static List<String> getCurrentMonth() {

        List<String> dataList = new ArrayList<>(2);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.MONTH, 0);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        String firstDayOfMonth = dateFormat.format(calendar.getTime()) + " 00:00:00";
        calendar.add(Calendar.MONTH, 1);
        calendar.set(Calendar.DAY_OF_MONTH, 0);
        String lastDayOfMonth = dateFormat.format(calendar.getTime()) + " 24:00:00";
        dataList.add(firstDayOfMonth);
        dataList.add(lastDayOfMonth);
        log.info("本月时间:" + dataList);
        return dataList;
    }

    /**
     * 获取本年的时间范围
     * @return 返回长度为2的字符串集合,如:[2022-01-01 00:00:00, 2022-12-31 24:00:00]
     */
    public static List<String> getCurrentYear() {

        List<String> dataList = new ArrayList<>(2);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.YEAR, 0);
        calendar.set(Calendar.DAY_OF_YEAR, 1);
        String firstDayOfYear = dateFormat.format(calendar.getTime()) + " 00:00:00";
        calendar.add(Calendar.YEAR, 1);
        calendar.set(Calendar.DAY_OF_YEAR, 0);
        String lastDayOfYear = dateFormat.format(calendar.getTime()) + " 24:00:00";
        dataList.add(firstDayOfYear);
        dataList.add(lastDayOfYear);
        log.info("本年时间:" + dataList);
        return dataList;
    }


    public static void main(String[] args) {

        getToday();
        getCurrentWeek();
        getCurrentMonth();
        getCurrentYear();

    }
}

程序结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值