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("不在这之间");
        }

    }

猜你喜欢

转载自blog.csdn.net/javaasd/article/details/107770525