게시판 DB에 현재시간을 넣으려면 어떻게 해야 할까요 😮

방법은 다양한데요. 일단 HTML에서 자바스크립트로 클라이언트의 날짜를 가져와도 되고, 서버에서 요청이 발생한 날짜를 입력하도록 코딩해도 됩니다. 하지만 클라이언트의 시간은 다양하기 때문에 일정한 서버의 날짜를 받는 것을 권장하고 있습니다.

전 SpringBoot로 사이트를 제작했기 때문에 자바 서버에서 날짜를 구하는 법에 대해 알려드리도록 하겠습니다.



Java에서 날짜 구하기

일단 1.8버전 이후로 api에 time 패키지가 추가됐습니다. 전 time 패키지 함수가 편해서 이걸 썼는데 다른 분들은 비교해보고 써주세요.



Java 1.8 이후

1.java.time.LocalDate

현재 지역의 날짜를 구합니다.

’’’ LocalDate today =LocalDate.now(); LocalDate Canada =LocalDate.now(ZoneId.of(“Canada/Central”));

    String creDate = today.toString();
    System.out.println(today); // 2021-10-14
    System.out.println(Canada);//2021-10-13

’’’
format 적용

’’’ DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern(“yyyy/MM/dd”); String formattedToday =today.format(formatter1);

    System.out.println(formattedToday);//2021/10/14

’’’
**년월일 따로 구하기 **

’’’ int year = today.getYear(); String month = today.getMonth().toString(); int monthValue = today.getMonthValue(); int dayOfMonth = today.getDayOfMonth(); int dayOfYear = today.getDayOfYear(); String dayOfWeek = today.getDayOfWeek().toString(); int dayOfWeekValue = today.getDayOfWeek().getValue();

    System.out.println(today); // 2021-10-14
    System.out.println(year); // 2021
    System.out.println(month + "(" + monthValue + ")"); // OCTOBER(10)
    System.out.println(dayOfMonth); // 14
    System.out.println(dayOfYear); //287
    System.out.println(dayOfWeek + "(" + dayOfWeekValue + ")"); //THURSDAY(4)

’’’



2.java.time.LocalTime

현재 지역의 시간을 구합니다.

’’’ LocalTime now = LocalTime.now(); System.out.println(now);//00:55:17.870 ‘’’
format 적용

’’’ DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern(“HH시 mm분 ss초”); String formattedNow = now.format(formatter2); System.out.println(formattedNow);//00시 55분 17초

’’’
시분초 구하기

’’’ int hour = now.getHour(); int minute = now.getMinute(); int second = now.getSecond(); ‘’’



3.java.time.LocalDateTime

현재 지역의 날짜와 시간을 함께 구합니다.

’’’ LocalDateTime todayNow = LocalDateTime.now(); System.out.println(todayNow);//2021-10-14T00:55:17.870 ‘’’
format 적용

’’’ DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern(“yyyy년 MM월 dd일 HH시 mm분 ss초”); String formattedTodayNow = todayNow.format(formatter3); System.out.println(formattedTodayNow);//2021년 10월 14일 00시 55분 17초

’’’


Java 1.8 이전

두함수 모두 현재 지역의 날짜와 시간을 구합니다. time 패키지의 함수들과 다르게 생성자를 만들어 사용하고, format을 할 경우 SimpleDateFomat 클래스를 써서 format을 String 형태로 지정한뒤 객체에 .format() 함수를 사용해 변수로 format을 적용할 값을 넣어줍니다. 위의 함수들이 변경값이 객체가 되고 format이 변수가 되는 것과는 반대입니다.

1.java.util.Date

’’’ Date date = new Date(); System.out.println(date); //Thu Oct 14 00:55:17 KST 2021

    SimpleDateFormat formatter4 = new SimpleDateFormat("yyyy/MM/dd");
    String formattedDate = formatter4.format(date);

    System.out.println(formattedDate);//2021/10/14 '''


2. java.util.Calender

’’’ Date calandar = Calendar.getInstance().getTime(); System.out.println(calandar);//Thu Oct 14 00:55:17 KST 2021

    SimpleDateFormat formatter5 = new SimpleDateFormat("HH시 mm분");
    String formattedCalendar = formatter5.format(calandar);
    System.out.println(formattedCalendar);//00시 55분

’’’


JavaScript로 날짜 구하기

image

만약 자동으로 실행되길 원하신다면 window.onload = function(){안에 넣어주시면 됩니다.}

’’’

        if(m<10){ m="0"+m;}
        if(d<10){ d="0"+d; }
        let creDate =Y+"-"+m+"-"+d; </script>

’’’




참조

💻 https://docs.oracle.com/javase/8/docs/api/

💻 https://myhappyman.tistory.com/58

카테고리:

업데이트:

댓글남기기