본문 바로가기

[Java]

java 날짜 시간 설정

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