Java获取各种日期

获取简单的一些日期和日期格式转换

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
public class test {
    public static void main(String[] args) throws ParseException {
        //日期里面的MM要大写,时间里的HH大写是24小时制,小写是12小时制
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
        //1.获取当前系统日期,转成String类型
        String data1 = sdf.format(new Date());
        System.out.println(data1);

        //2.String类型转成Date类型
        Date date2 = sdf.parse(data1);
        System.out.println(date2);

        //3.获取当前系统时间的后多少天
        LocalDateTime endTime = LocalDateTime.now().plusDays(15L);
        System.out.println(endTime);
        //获取当前系统时间的前多少天
        LocalDateTime begin = LocalDateTime.now().plusDays(-15L);
        System.out.println(begin);

        //4.获取当前系统时间的后多少天
        Calendar calendar = Calendar.getInstance();
        int day=calendar.get(Calendar.DATE);
        //此处修改为+1则是获取后一天
        calendar.set(Calendar.DATE,day+3);
        String lastDay = sdf.format(calendar.getTime());
        Date san=sdf.parse(lastDay);
        System.out.println(san);

        //5.获取系统当前月份的第一天和最后一天
        //获取当前月份的第一天
        Calendar calendars = Calendar.getInstance();
        calendars.set(Calendar.DAY_OF_MONTH,calendars.getActualMinimum(Calendar.DAY_OF_MONTH));
        SimpleDateFormat firstDay = new SimpleDateFormat("yyyy-MM-dd");
        String begins = firstDay.format(calendars.getTime());
        System.out.println(begins);
       //获取当前月份的最后一天
        calendars.set(Calendar.DAY_OF_MONTH,calendars.getActualMaximum(Calendar.DAY_OF_MONTH));
        SimpleDateFormat lastDays= new SimpleDateFormat("yyyy-MM-dd");
        String end = lastDays.format(calendars.getTime());
        System.out.println(end);
        
    }
}

String类型的日期相互比较

    public static void main(String[] args) throws ParseException {
        //判断某个日期是否在两个日期范围之内
        SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //用户先择的时间
        String date = "2020-05-19";
        String time = "11:23:22";
        String da = date.concat(" "+time);
        Date dae=simpleDateFormat.parse(da);
        //当前的时间的后三天
        Calendar calendar = Calendar.getInstance();
        int day=calendar.get(Calendar.DATE);
        //此处修改为+1则是获取后一天
        calendar.set(Calendar.DATE,day+3);
        String lastDay = simpleDateFormat.format(calendar.getTime());
        Date san=simpleDateFormat.parse(lastDay);
        //当前时间的后十五天
        calendar.set(Calendar.DATE,day+15);
        String shiWu = simpleDateFormat.format(calendar.getTime());
        Date shiWus =simpleDateFormat.parse(shiWu);
        if(dae.getTime()>=san.getTime() && dae.getTime()<=shiWus.getTime()){
            System.out.println("在里面");
        }else{
            System.out.println("不在里面");
        }

LocalDateTime 类型的日期相互比较

    public static void main(String[] args) {
        //用户先择的时间
        String date = "2020-05-29";
        String time = "11:23:22";
        LocalDateTime endTime = LocalDateTime.now().plusDays(15L);
        LocalDateTime beginTime = LocalDateTime.now().plusDays(3L);
        LocalDateTime userTime = LocalDateTime.from(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").parse(date + " " + time));
        if (userTime.isAfter(beginTime) && userTime.isBefore(endTime)){
            System.out.printf("在这之间");
        }else{
            System.out.printf("不在这之间");
        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值