可以使用Java中的SimpleDateFormat类来解析日期字符串,并将其格式化为所需的日期格式。然后,可以使用Calendar类来设置日期的时间部分为00:00:00和23:59:59,以获取所需的结果。

以下是一个示例代码:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils {
    
    private static final String DATE_FORMAT = "yyyy-MM-dd";
    
    public static Date getStartOfDay(String dateString) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
        Date date = sdf.parse(dateString);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }
    
    public static Date getEndOfDay(String dateString) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
        Date date = sdf.parse(dateString);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        calendar.set(Calendar.MILLISECOND, 999);
        return calendar.getTime();
    }
    
    public static void main(String[] args) throws Exception {
        String dateString = "2021-09-01";
        Date startDate = getStartOfDay(dateString);
        Date endDate = getEndOfDay(dateString);
        System.out.println(startDate);
        System.out.println(endDate);
    }
}

在这个例子中,getStartOfDay方法和getEndOfDay方法都接受一个日期字符串作为参数,并返回一个对应的Date对象,该对象的时间部分分别设置为00:00:00和23:59:59。

在main方法中,我们传入一个日期字符串"2021-09-01",并打印出获取到的起始日期和结束日期。输出结果如下:

Wed Sep 01 00:00:00 CST 2021
Wed Sep 01 23:59:59 CST 2021
``
java传入yyyy-mm-dd字符串获取对应的yyyy-mm-dd 000000和yyyy-mm-dd 235959

原文地址: https://www.cveoy.top/t/topic/gpoe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录