1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | package com.azsquad.onepick.payment.controllers; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTest { //차주 월요일 public static String getCurMonday(){ SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy"); Calendar c = Calendar.getInstance(); c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY); c.add(Calendar.DATE,7); return formatter.format(c.getTime()); } public static String getPickDate(){ String pick_date; SimpleDateFormat transFormat = new SimpleDateFormat("14:00:00 dd-MM-yyyy"); //해당 요일 및 시간 Calendar c = Calendar.getInstance(); int date = c.get(Calendar.DAY_OF_WEEK); int hour = c.get(Calendar.HOUR); if(date == 1 || date == 7 || (date == 6 && hour >= 1)) { // 토 일 금(1시이후) Calendar c1 = Calendar.getInstance(); c1.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY); c1.add(Calendar.DATE,7); pick_date = transFormat.format(c1.getTime()); System.out.println(" 토 일 금(1시이후) : " + pick_date); } else if( hour >= 1 ){ // 당일 주문 1시 전 Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); pick_date = transFormat.format(cal.getTime()); System.out.println(" 익일 2시 : " + pick_date); } else { //당일 2시 Date from = new Date(); pick_date = transFormat.format(from); System.out.println(" 금일 2시 : " + pick_date); } return pick_date; } public static void main(String[] args) { //pick_date 추가 (20.10.30. Fri Test version.) 09:14:25 28-10-2020 String pick_date; /** * pick_date 설정 * 주문자가 월~금 당일 13시 이전 주문자 일 경우, 당일 14시로 설정 * 주문자가 월~금 당일 13시 이후 주문자 일 경우, 익일 14시로 설정 * 주문자가 금 13시 ~ 월 13시 사이 주문자 일 경우, 익일 14시로 설정 * Calendar.DAY_OF_WEEK = 6,7,1(금,토,일) / 2~6(월~금) */ Date from = new Date(); SimpleDateFormat transFormat = new SimpleDateFormat("14:00:00 dd-MM-yyyy"); pick_date = transFormat.format(from); System.out.println("pick_date 1 : " + pick_date); SimpleDateFormat now_date = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy"); pick_date = now_date.format(from); System.out.println("pick_date 2 : " + pick_date); pick_date = getCurMonday(); System.out.println("pick_date 3 : " + pick_date); Calendar c = Calendar.getInstance(); int date = c.get(Calendar.DAY_OF_WEEK); int hour = c.get(Calendar.HOUR); System.out.println("date : " + date + " hour : " + hour); //pick_date 설정 pick_date = getPickDate(); System.out.println("pick_date 4 : " + pick_date); } } | cs |
[Java]