안녕하세요. 제임스 입니다. 


이번에 포스팅 할 내용은 특정 날짜에 원하는 날 만큼 + / - 하는 방법입니다. 


오늘 부터 한달 후는 몇 일 일까요? 

연인과 사귄 날로 부터 100일째 되는 날이 언제일까요? 


이런것들을 구하는 방법들에 대해 알아 보겠습니다. 



■ 오늘로 부터 한달 후는 몇일 일까?


1
2
3
4
5
6
7
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 
Calendar cal = Calendar.getInstance();
System.out.println("오늘 날짜: "+sdf.format(cal.getTime()));
        
cal.add(Calendar.MONTH, 1);
System.out.println("오늘로 부터 한달 후: "+sdf.format(cal.getTime()));
cs


Calendar 클래스에서 제공하는 add 라는 함수를 사용했습니다. 


결과는 아래와 같습니다.


오늘 날짜: 2018/01/10

오늘로 부터 한달 후: 2018/02/10



■ 연인과 1일차인 2018년 1월 1일로 부터 100일째는?

1
2
3
4
5
6
7
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 
Calendar cal = new GregorianCalendar(2018, Calendar.JANUARY, 1);
System.out.println("연인과 1일차: "+sdf.format(cal.getTime()));
        
cal.add(Calendar.DAY_OF_MONTH, 100);
System.out.println("연인과 사귄지 100일째: "+sdf.format(cal.getTime()));
cs

달을 구할때와 같이 이번에도 Calendar 클래스의 add 함수를 사용 했습니다. 

단, 이번에는 Calendar.MONTH 대신 Calendar.DAY_OF_MONTH 에 100일을 더했습니다. 


결과는 아래와 같습니다. 


연인과 1일차: 2018/01/01

연인과 사귄지 100일째: 2018/04/11



■ 기준일로 부터 이전 날짜 구하기


위 두가지 예제는 앞으로 몇달 후 또는 몇일 후 를 구하는 방식이었습니다. 

반대로 지나간 날짜를 구하는 방법은 어떻게 될까요? 


아주 간단합니다. 

입력 값을 양수 값이 아닌 음수 값으로 넣어 주면 됩니다. 


두번째 예제 결과 값인 2018년 4월 11일로 부터 101일 전이 몇일 인지 구해 보겠습니다. 


1
2
3
4
5
6
7
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 
Calendar cal = new GregorianCalendar(2018, Calendar.APRIL, 11);
System.out.println("기준일: "+sdf.format(cal.getTime()));
        
cal.add(Calendar.DAY_OF_MONTH, -101);
System.out.println("기준일로 부터 101전: "+sdf.format(cal.getTime()));
cs


add 함수를 사용 했지만 음수 값을 입력했습니다. 

결과는 아래와 같습니다. 


기준일: 2018/04/11

기준일로 부터 101전: 2017/12/31



■ 오늘로 부터 한달 열흘 후 날짜 구하기


이번에는 몇 일 또는 몇 달이 아닌 한달 + 10일 이라는 값을 구하려고 합니다. 

어떻게 하면 될까요? 

눈치 빠르신 분들은 벌써 답을 찾으셨을 것 같습니다. 


한달을 add 한 값에 다시 10일을 add 하면 되겠죠? 

코드는 아래와 같습니다. 


1
2
3
4
5
6
7
8
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 
Calendar cal = Calendar.getInstance();
System.out.println("오늘 날짜: "+sdf.format(cal.getTime()));
        
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DAY_OF_MONTH, 10);
System.out.println("오늘로 부터 한달 열흘 후: "+sdf.format(cal.getTime()));
cs


결과 값은 아래와 같습니다. 


오늘 날짜: 2018/01/10

오늘로 부터 한달 열흘 후: 2018/02/20



위와 같은 방식으로 여러 조합을 이용하여 원하는 값을 쉽게 가져 올 수 있습니다. 


잘 이용 하시길 바랍니다 :)



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


산정호수 썰매축제 다녀 온날 아기를 재우려고 드라이브를 잠깐 했습니다. 

주차장에서 밖으로 나가지 않고 좀더 안쪽으로 차를 이동 했는데요.


아기 엄마가 갑자기 비명 아닌 비명을 지르며 "돌담병원이닷!" 라는 거예요.


낭만닥터 김사부 촬영지였습니다. 

이국종 교수님을 모티브로 했다고 해서 더욱 화재가 되었던 드라마입니다. 


정말 재미있게 봤었던 드라마 촬영지가 여기에 있다니 ㅎㅎ

극중에서는 강원도 정선이었나? 그런 설정이었던 것으로 기억하는데요.

실제는 포천 산정호수에 있었습니다 !!!


당연히 아기 엄마와 저는 차를 박차고 나와 인증샷을 남겼습니다. ㅋㅋ

아기는 차안에서 엄마 아빠의 이해 못할 행동을 구경하고 있었죠... 





돌담병원...

정말 기대도 하지 않았는데

이렇게 찾게 되었습니다. 

이런게 여행의 묘미가 아닐까요? 

생각지도 못한 내가 알고 있는 그 곳을 찾게 되는 ...

그래서 너무 설레고 기쁘네요 ^^



위치는 산정호수 주차장에서 얼마 멀지 않습니다. 


주차장에서 우회전시 주차장 정산소 인데요.

우회전 하지 않고 좌회전으로 좀더 안쪽으로 이동 했습니다. 

거리는 대란 7-800 미터 정도? 시간상으로 1분 정도 걸렸습니다.


산정호수에서 즐거운 시간 보내시고

바로 옆에 있는 돌담병원에서 인증샷도 남기시면

즐거운 여행이 되지 않을까요? 



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,




안녕하세요. 제임스입니다. 


계속해서 날짜 관련 코드 작성법에 대해 정리하고 있는데요. 오늘은 날짜를 원하는 형식으로 프린트 하는 방법에 대해 알아 보겠습니다. 

앞선 포스팅에서는 각각의 년, 월, 일, 시간 값들을 뽑아낸 후 아래와 같이 이쁘지 않은 형태로 프린트 했었습니다.


1
System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);
cs


이렇게 프린트 하기 위해 너무 많은 코드를 작성해야 합니다. 


그래서 자바에서는  SimpleDateFormat 이라는 무지무지 고마운 클래스를 제공하고 있습니다. 

지금부터 이 SimpleDateFormat 에 대해 알아 보겠습니다. 


■ SimpleDateFormat


참고: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html


이 클래스는 날짜를 원하는 포맷으로 파싱시켜 주는 역할을 합니다.

이때 사용하는 패턴들이 있는데요. 그 패턴 중 우리가 사용할 몇가지만 정리해보겠습니다. 


Letter

Date or Time Component

Presentation

Examples

y

Year

199696

M

Month

JulyJul07

d

Number

10

H

시간(24시간)

Number

0

h

시간(am/pm)

Number

12

m

Number

30

s

Number

55


예제를 보겠습니다. 


1
2
3
4
5
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
 
Calendar cal = Calendar.getInstance();
        
System.out.println(sdf.format(cal.getTime()));
cs


위와 같이 simpleDateFormat 생성자에 패턴을 입력 했습니다. 

format 함수를 이용하여 프린트 하면 원하는 패턴의 날짜형식이 리턴되게 됩니다. 


yyyy > 2018 과 같이 년도를 4자리로 표현하라는 의미 입니다. 

MM > 시간의 분을 나타내는 mm 과 구분해야 하는데요. 대문자 MM 으로 써야 월을 의미합니다. 

dd > 일을 의미 합니다 (해당 달의 몇번째 일인지를 의미)

HH > 시간 중 시를 의미 하며 HH 는 24시간으로 표기 hh 는 12시간 기준으로 am/pm 을 추가로 표기 가능합니다. 

mm > 시간의 분을 나타내는 것으로 월을 의미하는 MM 과 구분해야 합니다. 

ss > 초를 의미 합니다. 


년도를 의미하는 yyyy를 제외한 MM.dd HH:mm:ss 들이 두자리로 표기되어 있습니다 .

월/일 시:분:초 모두 최대 두자리로 표기 되기 때문인데요. 한자리일 경우 그냥 한자리로 표기 됩니다. 


위 코드를 실행한 결과 값은 다음과 같습니다. 

2018.01.06 01:35:44


yyyy 대신 yy 만 사용하게 되면 년도의 마지막 두자리만 표기 됩니다. 


1
2
3
4
5
SimpleDateFormat sdf = new SimpleDateFormat("yy.MM.dd HH:mm:ss");
 
Calendar cal = Calendar.getInstance();
        
System.out.println(sdf.format(cal.getTime()));
cs


결과 값은 다음과 같습니다. 

18.01.06 01:47:47



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


지난 주말 아기를 데리고 경기포천의 산정호수 썰매축제에 다녀 왔습니다. 

집에서 대략 1시간 10여분 거리로 나왔는데...

가는 길에 아기가 잠드는 바람에 드라이브도 하고 저속 운행을 하다 보니 1시간 40분이 걸려 도작 했습니다 ㅎㅎ


가는 길에 미세먼지 때문에 걱정을 많이 했는데요. 

의외로 목적지에 도착해서 보니 미세먼지 걱정은 거의 없어 보였습니다. 

다행인건 날씨도 도와 주는지 포근했습니다. 


결론부터 이야기 하면 아기 엄마와 아빠는 신나게 놀고 왔습니다....

아기는... 신나했겠죠? 신나 했을꺼예요 ㅎㅎ;;


빙상자전거 + 대야썰매, 오리기차등 (다른 것들도 탈것들이 많았지만 아기를 데리고 다른걸 더 타기는 ㅠㅠ) 

신나게 타며 동심으로 돌아 갔었던것 같습니다. 



아기와 아기엄마가 대야썰매를 타고 있습니다. 

앞에 노란 점퍼는... 제가 열심히 자전거에 올라타 전지하고 있습니다 ㅎㅎ


잠깐 아기 엄마가 자전거를 타고 딸과 함께 ^^

그런데 아빠랑 타고 있다고 너무 싫은 표정 짓네요 ㅠㅠ


딸!!! 아빠 힘들게 자전거 타고 있는데 졸고 있으면 어떻게해 ㅠㅠ

정말 저렇게 졸고 있었습니다;;;

아기 엄마가 오리열차 자리 잡으로 간사이 

반바퀴 밖에 못돌고 졸다가 넘어 지려는거 보고 놀래서

아기 안고 자전거 탔습니다 ㅎㅎ;



가장 타고 싶었던 오리열차... 

아니... 아기를 태워주고 싶엇던... ㅋㅋㅋㅋㅋ

아기와 엄마가 앞에... 그리고 그 앞에는 아기 할머니 ㅎㅎ

우리 딸 보다 어른들이 더 신난건... 어쩔수 없나요? ㅋ



오리 열차를 끄는건 농기구... 인데요

이름을 잘 모르겠습니다. ㅠㅠ

중요한건 저분 운전 스킬이 정말!!!

안타보신 분은 모를꺼예요 



음... 뒤에 오리들이 보이니... 뻘줌하긴 하네요 ㅋ



엄마와 딸... 

그런데 우리 딸 왜 계속 졸고 있는거니 ㅠㅠ




오리 열차를 타면서 본 경치들... 

참... 사진 못찍네요

그렇게 이쁜 경치를 이렇게 못 찍을 수 있다는게...

저도 제 경이로운 능력에 감탄을 금할 길이 없습니다.



얼음낚시 하시는 분들 부러웠습니다. 

아기가 조금만 더 컸어도 저도 저분들 틈에 한자리 딱!!! ㅎㅎ



얼음바이크 타시는 분들 너무 잼있어 보였습니다. 

저것도 다음 기회에 아기가 더 크면 도전해보겠습니다 ㅎㅎ




산정호수에서 키스링 (일명 교황빵)이라는 것을 봤는데요. 

프란치스코 교황께서 방한하셨을때 드신 빵이라고 합니다. 

아쉽게도 먹는다고 정신 없어서 사진을 못찍었습니다. ㅠㅠ


그래서 naver 블로거 이신 달달님 블로그에 있는 이미지를 가져 왔습니다. 

달달님 블로그 주소 >>> https://blog.naver.com/chbik/221139448531

(달달님 혹시 원치 않으실 경우 이미지 삭제 하겠습니다 ㅠㅠ)



산정호수 썰매축제는 올해 2월 11일 까지 진행 한다고 합니다. 

다음은 산정호수 홈페이지 입니다. 행사일정 및 이용요금에 대한 안내가 있습니다. 

참고하세요 ^^

http://www.sjlake.co.kr/








블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,




안녕하세요. 제임스 입니다. 


앞서 Calendar 객체를 이용하여 원하는 날짜 및 시간 정보를 셋팅하고 이를 프린트 해봤는데요. 

이번에는 조금 다른 방법으로 데이터를 셋팅해 보겠습니다. 


GregorianCalendar 클래스를 이용하는 방법입니다. 

(참고) https://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html




■ GregorianCalendar 클래스 생성자 


GregorianCalendar 클래스는 몇가지 생성자를 제공하고 있습니다. 그중 우리가 관심있는 몇 가지만 살펴 보겠습니다. 


public GregorianCalendar(int year,
                 int month,
                 int dayOfMonth)

GregorianCalendar 생성자 중 가장 기본으로 생각 됩니다. 세가지 파라미터 값을 입력 받으며 년,월,일 을 표기 합니다. 

GregorianCalendar(년, 월, 일) 형태의 입력을 받습니다. 


public GregorianCalendar(int year,
                 int month,
                 int dayOfMonth,
                 int hourOfDay,
                 int minute)

GregorianCalendar(년도, 월, 일, 시, 분) 형식으로 입력 하는 생성자를 제공하고 있습니다. 


public GregorianCalendar(int year,
                 int month,
                 int dayOfMonth,
                 int hourOfDay,
                 int minute,
                 int second)

GregorianCalendar(년도, 월, 일, 시, 분, 초) 형식으로 입력 하는 생성자를 제공하고 있습니다. 



■ GregorianCalendar 예제


Calendar cal = new GregorianCalendar(2018,0,5,1,13,56);

위에서 정리한 생성자 중 세번째 생성자를 사용하여 초단위까지 입력을 했습니다. 

입력 값은 2018년 1월 5일 1시 13분 56 초 입니다. 


물론 1월 (Calendar.MONTH == 0) 을 설정하는데 왜 0 을 입력 했냐는 질문을 안하시리라 믿습니다 :)


위 코드는 아래와 같이 변경 가능합니다. 

Calendar cal = new GregorianCalendar(2018,Calendar.JANUARY,5,1,13,56);

이제 설정한 값을 앞선 포스팅과 같이 프린트 해보겠습니다. 


int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);

String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}

System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);

결과는 아래와 같이 리턴 됩니다. 


2018.1.5(금) 1:13:56


cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.DATE, 5);

cal.set(Calendar.HOUR, 1);
cal.set(Calendar.MINUTE, 13);
cal.set(Calendar.SECOND, 56);

위와 같이 일일이 셋팅 해주는 것 보다는 GregorianCalendar 객체를 이용하는 것이 더욱 편하겠죠? ^^




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


앞서 파워디렉터 12 정품 다운로드에 대해 포스트팅 했었는데요. 

그래도 파워디렉터 15 또는 16 등이 최신 버전이니 프리웨어(일부 주요 기능 사용 불가)라도 파워디렉터 12 정품보다 좋지 않겠냐는 생각으로 찾으시는 분들이 있을 것 같아 소개 드립니다.



■ 네이버 소프트웨어 다운로드 링크로 이동


http://software.naver.com/software/summary.nhn?softwareId=GWS_002531

무료 다운로드를 실행 합니다. 




■ PowerDirector 설치파일 다운로드 및 설치


PowerDirector Downloader 를 실행 하여 설치파일 다운로드를 진행 합니다. 

다운로드 완료 시 설치 버튼이 활성화 되면데 설치를 진행 하면 아래와 같은 화면들을 보실 수 있습니다. 





PowerDirector 실행을 크릭 하면 활성화 화면으로 이동하게 됩니다. 


■ PowerDirector 활성화 



제품코드(시디키)는 네이버 소프트웨어의 다운로드 화면 참고사항 란에 제공되고 있습니다. 

또는 아래 코드를 입력 하시면 됩니다. 

YRVMJ-4ZV3A-QBR3G-Y4BA5-8Z7EJ-C5RAF


활성화가 끝나면 위와 같은 화면이 나옵니다.

확인을 클릭 하시면 아래와 같이 파워디렉터 15 (프리웨어)가 실행 됩니다. 




현재 PowerDirector 16 이 최신 버전이며 해당 버전은 쉐어웨어로 한달간만 무료로 사용 가능합니다. 미리 경험 해보는 것도 나쁘진 않을 것 같습니다 :)




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


이번에는 동영상 편집 프로그램 하면 떠오른 프로그램중 하나가 CyberLink 의 Power Director 라는 녀석이죠. 

하지만 유료 프로그램이며 한달간의 Trial 기간이 있지만 그 뛰어난 성능을 맛보고 나면 한달이라는 기간동안만 사용할 수 있다는 부분은 정말 많은 아쉬움이 남는 부분입니다. 


사실 전문적으로 동영상 편집을 하시는 분들이라면 패키지를 구매 하는 것이 이득이라는 생각이 드는 그런 좋은 프로 그램입니다. 

다행히 이 Power Director 12 정품이 무료 배포 되고 있습니다.


오늘은 이 Power Director 12 설치 하는 방법에 대해 알아 보겠습니다. 



■ 파워디렉터 12 무료배포 사이트 접속


CyberLink 에서 제공하는 파워디렉터 12 무료배포 사이트 입니다. 

http://kr.cyberlink.com/stat/edms/kor/2015/Q3/PDR12-seeding/index.jsp



사이트 내에 아래 제품키가 표기 되어 있습니다. 

VR4HU-RNL83-TANAD-WKP9U-SGJ9H-9ZMJ2


다운로드를 클릭 하셔서 Power Director Downloader 파일을 받으시면 됩니다. 



■ Power Director Downloader 파일 실행 하여 설치 진행


위 파일을 실행 하면 아래와 같이 설치 파일이 다운로드를 시작하며 완료 시 설치 버튼을 클릭하여 프로그램을 설치 합니다. 




■ Power Director 실행 및 활성화(제품키 입력)


설치한 파워디렉터 12 를 실행 합니다. 


활성화를 위해 제품키를 입력 하라는 화면이 나옵니다. 

CyberLink 페이지에서 확인 가능 하시며 귀찮으신 분은 아래 코드 (CyberLink 제공 코드) 사용 하시면 됩니다. 

VR4HU-RNL83-TANAD-WKP9U-SGJ9H-9ZMJ2



제품키 입력이 성공하면 위와 같이 활성화 되었다는 안내 문구가 나타납니다. 

확인을 클릭 하면 아래와 같이 파워디렉터 12 가 실행 됩니다. 


이제 이 파워디렉터 12를 이용하여 동영상 편집을 해보시면 어떨까요? ^^



현재 파워디렉터 12 상위 버전들이 네이버 소프트웨어 등에 프리웨어 버전으로 배포되고 있습니다. 

프리웨어 버전은 특정 기능들이 빠진채 배포 되는 버전입니다. 

어느 버전을 사용하시든 사용자의 사용 용도에 맞게 다운 받으시면 될것 같습니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,




바로 전 포스팅에서 Calendar 객체를 이용하여 현재 날짜, 요일, 시간 정보를 가져 오는 방법에 대해 정리 했습니다. 


이번에는 원하는 날짜 및 시간 정보 등을 입력 하고 이를 다시 사용 하는 방법에 대해 정리 하겠습니다. 


String startDate = "20180505083000";

위와 같이 날짜 정보를 startDate 라는 변수에 String 형으로 입력 했습니다. 

2018년 5월 5일 08시 30분 00초 를 정의 한 텍스트 입니다. 


역시 Calender 객체를 이용하기 위해서는 Calendar.getInstance() 를 사용 합니다. 

Calendar cal = Calendar.getInstance();

위와 같은 상태에서 cal 정보를 확인 하면 현재시간 정보가 나옵니다. (이전 포스팅 참조)


여기에 원하는 startDate 정보를 대입해 줍니다. 

cal.set(Calendar.YEAR, Integer.parseInt(startDate.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.parseInt(startDate.substring(4, 6)) - 1);
cal.set(Calendar.DATE, Integer.parseInt(startDate.substring(6, 8)));

cal.set(Calendar.HOUR, Integer.parseInt(startDate.substring(8, 10)));
cal.set(Calendar.MINUTE, Integer.parseInt(startDate.substring(10, 12)));
cal.set(Calendar.SECOND, Integer.parseInt(startDate.substring(12, 14)));

각각의 Calendar 객체 상수값에 대입하는데요. 여기서 한가지 주의 할 점은 Calendar.MONTH 에는 5 가 그대로 입력 되면 안된다는 것입니다. Calendar.MONTH 값이 5일 경우 이는 6월을 의미 하므로 -1 을 한 값을 입력해 주어야 합니다. (이전 포스팅 참조)


이제 cal 에는 현재 날짜 정보를 대신하여 2018년 5월 5일 08시 30분 00초 라는 정보가 셋팅 되었습니다. 

확인은 아래와 같이 해보겠습니다. 

int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);

String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}

System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);

dayOfWeek 값을 별도 입력 하지 않아도 2018년 5월 5일 날짜 정보를 조회하여 요일 정보를 가져 옵니다. 

위 코드를 실행 하면 아래와 같은 결과 값을 리턴합니다. 


2018.5.5(토) 8:30:0


2018년 5월 5일이 토요일이네요 ^^


String startDate = "20180319083000";

날짜를 2018년 3월 19일로 설정해봤습니다. 

위 코드를 그대로 실행 시키면 아래와 같은 결과 값을 리턴합니다. 


2018.3.19(월) 8:30:0


2018년 3월 19일이 월요일이 맞습니다. 잘 동작하네요 ^^


이번 예제와 같이 날짜정보를 String 형으로 제공 하는 경우는 보통 API 호출 또는 전문 호출등을 통해 특정 날짜 정보를 가져 올 경우 형식은 정해져 있으나 (ex. yyyyMMddHHmmss) 어떤 값이 올지 모를 경우에 많이 사용합니다. 


만약 정확한 날짜 정보를 알고 있다면 아래와 같이 직접 입력 하는 방법도 사용 가능합니다. 

cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, Calendar.MAY);
cal.set(Calendar.DATE, 5);

cal.set(Calendar.HOUR, 8);
cal.set(Calendar.MINUTE, 30);
cal.set(Calendar.SECOND, 0);

처음 방식과 다르게 Calendar.MONTH 에 Calendar.MAY 라는 값을 셋팅 했습니다. 5월이라는 상수 값을 그대로 입력 했으므로 처음과 달리 -1 을 하거나 할 필요가 없습니다. 


물론 결과는 위와 동일 합니다 :)



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


이번에는 자바 Calendar 클래스를 이용하여 오늘 날짜, 요일 및 시간을 구하는 방법에 대해 알아 보겠습니다. 



import java.util.Calendar;
Calendar cal = Calendar.getInstance();
System.out.println(cal);

위와 같이 Calendar 객체의 getInstance() 만 해도 아래와 같이 현재 날짜 정보를 가져 올 수 있습니다. 


java.util.GregorianCalendar[time=1514906028783,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=22,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=3,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=13,SECOND=48,MILLISECOND=783,ZONE_OFFSET=32400000,DST_OFFSET=0]


위 결과 중 우리가 일반적으로 필요로 하는 부분을 붉은 색으로 표기 했습니다. 

key = value 조합으로 나오는 것을 확인하실수 있습니다. 


여기서 key 로 나오는 값이 우리가 Calendar 객체에서 가져올 상수 값입니다. 

즉, 아래와 같이 사용 가능합니다. 


int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);

Calender.MONTH 값은 0 ~ 11 까지 존재 하며 각각의 값이 1월 부터 12월을 의미 합니다. 즉, 현재 월을 구하기 위해서는 해당 값에 +1 을 해야 합니다. 


Calendar.DAY_OF_WEEK 는 요일을 의미하며 1 ~ 7 까지의 값을 리턴하며 각각은 일, 월 ~ 금, 토 요일을 의미 합니다. 

이는 아래와 같이 한글 요일값으로 변경 가능합니다. 물론 영문 요일값으로 변경하셔도 됩니다. 

String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}


위 코드를 아래와 같이 프린트 해보겠습니다. 

System.out.println("년도: "+year+"\n월: "+month+"\n일: "+
date+"\n요일: "+dayOfWeek+"("+korDayOfWeek+")"+
"\n시간 : "+hour+"\n분: "+minute+"\n초: "+second);

년도: 2018

월: 1

일: 3

요일: 4(수)

시간 : 0

분: 13

초: 48


이를 일반적인 시간 표현 방식으로 변경해보겠습니다. 

System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);

2018.1.3(수) 0:13:48



자바 Calendar 객체를 이용하여 현재 날짜, 요일 및 시간 구하는 방법을 간단히 알아 봤습니다. 

아래는 전체 코드 입니다. 


Calendar cal = Calendar.getInstance();
System.out.println(cal);

int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);

String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}

System.out.println("년도: "+year+"\n월: "+month+"\n일: "+
date+"\n요일: "+dayOfWeek+"("+korDayOfWeek+")"+
"\n시간 : "+hour+"\n분: "+minute+"\n초: "+second);

System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);



Calendar 객체에 대해서는 아래 API 링크 참조 하시면 좀더 많은 정보를 접하실수 있습니다. 

https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D

 


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


Youtube 크리에이터 스튜디오에서 미리보기 설정 (동영상 안내용 썸네일)을 직접 설정할수 없는 경우가 있습니다. 


"계정이 맞춤 미리보기 이미지의 자격 요건을 충족하지 않습니다." 

라는 문구와 함께 설정을 못하게 되어 있습니다. 


이는 사용자 계정 확인이 안되었기 때문입니다. (본인인증 미 완료 상태)


https://www.youtube.com/verify

위 링크로 이동하셔서 계정확인을 하시면 됩니다. 


▶ 국가 선택 후 인증코드를 받을 방법을 선택 합니다. 


▶ 

저는 문자 메세지 전송으로 선택 후 인증번호를 받을 휴대폰 번호를 입력 했습니다. 


▶ 

문자로 받은 인증번호 6자리를 입력합니다. 


▶ 

인증이 완료되면 계정 확인이 되었다는 축하 메세지를 확인할 수 있습니다. 


▶ 

이제 맞춤 미리보기 이미지 를 직접 제작 추가 할 수 있습니다. 


단순 이미지 보다는 텍스트를 추가 하거나 관심을 끌 수 있는 이미지를 제작하는 것이 도움이 된다고 하니 참고 하세요 ^^



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D





블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,