将"yyyy-MM-dd HH:mm"格式的字符串减去15分钟

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

public class TimeTest {
public static void main(String[] args) {
String activity = "2019-01-22";
String startTime = "08.30";
String endTime = "09.00";

    String timePeriod = generateTimePeriod(activity, startTime, endTime);

    System.out.println("timePeriod:"+timePeriod);

}

private static String generateTimePeriod( String activity, String startTime , String endTime ){
    //将前后时间先拼成两个yyyy-MM-dd HH:mm 格式的字符串
    String frontTime1 = activity + " " + startTime.replace(".", ":");
    String frontTime2 = activity + " " + endTime.replace(".", ":");

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");

    //转换成date
    Date date1 = null;
    Date date2 = null;
    try {
        date1 = format.parse(frontTime1);
        date2 = format.parse(frontTime2);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    //减去15分钟
    Calendar calendar1 = Calendar.getInstance();
    Calendar calendar2 = Calendar.getInstance();
    calendar1.setTime(date1);
    calendar2.setTime(date2);
    calendar1.add(Calendar.MINUTE,-15);
    calendar2.add(Calendar.MINUTE,-15);

    date1 = calendar1.getTime();
    date2 = calendar2.getTime();

    //将减去15分钟的时间转回yyyy-MM-dd HH:mm格式的字符串
    String after1 = format.format(date1);
    String after2 = format.format(date2);

    //拼接生成timePeriod
    String timePeriod = "";
    String[] splits1 = after1.split(" ");
    String[] splits2 = after2.split(" ");

    timePeriod = activity+" "+splits1[1]+"-"+splits2[1];
    return timePeriod;
}

}'

猜你喜欢

转载自www.cnblogs.com/jester/p/10336827.html