본문 바로가기

국비과정/JAVA (기초)

20230613 _[8일차]_02. 날짜 & 시간 메서드 *

[ 아스키코드 시계 ]

 

( 십진수 -> 이진수로 나타내기 )

package jun13;

import java.util.Arrays;

public class Clock {
	public static void main(String[] args) {

// 아스키코드 시계
//		십진수 이진수
		// 1	1
		// 3	11
		// 10	1010
		// 11	1011
		// 12	1100
		
		System.out.println(Integer.toBinaryString(60));
		// 1	1	1	1	0	0
		// 32	16	8	4	2	1
		System.out.println(32+16+8+4);
		
		System.out.println(Integer.toBinaryString(59));
		// 1	1	1	0	1	1
		// 32	16	8	4	2	1
		System.out.println(32+16+8+2+1);

// **************************************************
//		십진수 -> 이진수로 나타내기
		
		int[] a = new int[6];
		int i = 0;
		int n = 50;
		while(i < 6) {
			a[i++] = (n%2);
			n/=2;
		}		// -> [0, 1, 0, 0, 1, 1] 반대부터 읽어야함*

		for (int j = a.length-1; j >= 0; j--) {
			System.out.print(a[j]);
		}		// 110010
		
	}
}

( 날짜&시간 가져오기 )

package jun13;

import java.time.LocalDate;
import java.time.LocalDateTime;		// --> import생성
import java.util.Arrays;

public class Clock {
	public static void main(String[] args) {
    	
        ....
        
        // Date
		LocalDate ld = LocalDate.now();
		System.out.println(ld);	// 2023-06-13
		System.out.println(ld.getYear());	// 2023
		System.out.println(ld.getMonth());	// JUNE
		System.err.println(ld.getMonthValue());	// 6
		System.out.println(ld.getDayOfMonth());	// 13
		
		LocalDateTime ldt = LocalDateTime.now();
		System.out.println(ldt.getHour());	// 시 (22)
		System.out.println(ldt.getMinute());	// 분 (14)
		System.out.println(ldt.getSecond());	// 초 (3)	-> int타입
		
		System.out.println(Integer.toBinaryString(ldt.getHour()));	// 10110
		System.out.println(Integer.toBinaryString(ldt.getMinute()));	// 1110
		System.out.println(Integer.toBinaryString(ldt.getSecond()));	// 11

* LocalDate ld = LocalDate.now();

(ctrl + LocalDate 클릭하고 (window - show view -) outline -> now() 찾을수 있음)

> static 과 함께 쓰이고 기울임체로 표시 -> 메소드

LocalDate.now();  --> 클래스명.메소드 

이미 만들어져 있는걸(년, 월, 일) 가져다가 쓰는거!!! 

 

* LocalDateTime ldt = LocalDateTime.now();
> 시, 분, 초 가져올 수 있음 (int타입)

 


(나머지값 이용해서 아스키코드 시계 만들어보기)*** -> 시분초만 뽑아서 각각 2진법으로 출력

해보기, 이진수 반대로 적용*

		int[] Hour = new int[4];
		int H = 10;
		int i = 0;
		while(i < 4) {
			System.out.print(H%2);
			H/=2;
			i++;
		}