날짜구하기
게시판 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로 날짜 구하기
만약 자동으로 실행되길 원하신다면 window.onload = function(){안에 넣어주시면 됩니다.}
’’’
if(m<10){ m="0"+m;}
if(d<10){ d="0"+d; }
let creDate =Y+"-"+m+"-"+d; </script>
’’’
댓글남기기