1. 날짜 원하는 형식으로 출력하기
// 날짜 초 소숫점까지 나타내기.
Date date = new Date();
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); // 초 소숫점 세자리까지 나타내기
System.out.println(simpleDateFormat1.format(date));
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm");
System.out.println(simpleDateFormat2.format(date));
//
2020-11-24 01:12:55.219
2020-11-24 01:12
2. 문자열을 Date객체로 형변환하기
// 문자열을 Date객체로 형변환하기
String dateStr = "2016-09-15 01:00:04.002";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
Date date = simpleDateFormat.parse(dateStr);
System.out.println(date);
//
Thu Sep 15 01:00:04 KST 2016
3. 시간 초 소숫점자리 연산
- 더하기
// 시간 초 소숫점 자리까지 더하기, 빼기
String dateStr = "2016-09-15 01:00:04.002";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
double second = 2.000; // 2초
Date date = simpleDateFormat.parse(dateStr);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.SECOND, (int) second);
System.out.println(simpleDateFormat.format(cal.getTime()));
// 초가 소숫점 3자리까지 있는 경우
second = 1.345;
// Calendar.MILLISECOND 사용, 초에 1000을 곱함
cal.add(Calendar.MILLISECOND, (int)(second * 1000));
System.out.println(simpleDateFormat.format(cal.getTime()));
//
2016-09-15 01:00:06.002
2016-09-15 01:00:07.347
- 빼기
// 시간 초 소숫점 자리까지 더하기, 빼기
String dateStr = "2016-09-15 01:00:04.002";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
double second = 2.000; // 2초
Date date = simpleDateFormat.parse(dateStr);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.SECOND, (int) -second);
System.out.println(simpleDateFormat.format(cal.getTime()));
// 초가 소숫점 3자리까지 있는 경우
second = 1.345;
// Calendar.MILLISECOND 사용, 초에 1000을 곱함
cal.add(Calendar.MILLISECOND, (int)(-second * 1000));
System.out.println(simpleDateFormat.format(cal.getTime()));
//
2016-09-15 01:00:02.002
2016-09-15 01:00:00.657
'코딩 테스트 > TIP' 카테고리의 다른 글
[코딩테스트] 2차원배열 회전하기 (1) | 2021.05.24 |
---|---|
[JAVA] 10진수 n진수로 변환하기 (0) | 2020.11.21 |
[JAVA] 문자열이 영어로만 이루어져 있는지 판별하기(Pattern.mathces()) (0) | 2020.11.10 |
[JAVA] 아스키(ASCII) 코드 값 구하기 (0) | 2020.11.10 |
[JAVA] 최대 공약수(GCD), 최소 공배수(LCM) 구하기 (2) | 2020.10.29 |