// String to date 형식 변환 예제
import java.time.LocalDate
import java.time.format.DateTimeFormatter
fun main(args: Array<String>) {
val string = "2019년 01월 10일"
val formatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일")
val date: LocalDate = LocalDate.parse(string, formatter)
println(date)
println(date.format(formatter))
}
////////출력////////
2019-01-10
2019년 01월 10일
---------------------------------------------------------------
//특정 시간의 LocalData, LocalDateTime을 생성
LocalDate.of(2019, 3, 22) // 2019년 3월 22일
LocalDateTime.of(2019, 3, 22, 10, 10, 10) // 2019년 3월 22일 10시 10분 10초
// 두 날짜의 시간 차이를 구하는 예제
var sampleDate = "2020-06-14 10:12:14"
var date = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .parse(sampleDate)
var today = Calendar.getInstance()
var calculateDate = (today.time.time - date.time) / (1000 * 60 * 60 * 24)
/*
today.time = 현재날짜를 Date형식으로 구하는것이고 today.time.time은 Date형식으로 구한 현재 날짜를 ms단위로 바꾼것이다.
.time으로 얻은 값의 단위는 ms이고 1000을 곱하면 1초가된다
.time = gettime()이다.
gettime()은 1970년 1월 1일 00:00을 기준으로 한다.
LocalDateTime.now() 는 현재 시간및 날짜를 구할수있다.
*/
문자 | 날짜 및 시간 요소 | 표시 | 예제 |
G | Era designator | Text | AD |
y | Year | Year | 1996; 96 |
Y | Week year | Year | 2009; 09 |
M | Month in year (context sensitive) | Month | July; Jul; 07 |
L | Month in year (standalone form) | Month | July; Jul; 07 |
w | Week in year | Number | 27 |
W | Week in month | Number | 2 |
D | Day in year | Number | 189 |
d | Day in month | Number | 10 |
F | Day of week in month | Number | 2 |
E | Day name in week | Text | Tuesday; Tue |
u | Day number of week (1 = Monday, ..., 7 = Sunday) | Number | 1 |
a | Am/pm marker | Text | PM |
H | Hour in day (0-23) | Number | 0 |
k | Hour in day (1-24) | Number | 24 |
K | Hour in am/pm (0-11) | Number | 0 |
h | Hour in am/pm (1-12) | Number | 12 |
m | Minute in hour | Number | 30 |
s | Second in minute | Number | 55 |
S | Millisecond | Number | 978 |
z | Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
X | Time zone | ISO 8601 time zone | -08; -0800; -08:00 |
예제 패턴
날짜 및 시간 패턴 | 결과 |
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" | 2001-07-04T12:08:56.235-07:00 |
"YYYY-'W'ww-u" | 2001-W27-3 |
출처: https://junghn.tistory.com/entry/JAVA-자바-날짜-포맷-변경-방법SimpleDateFormat-yyyyMMdd [코딩 시그널]
'프로그래밍 > Kotlin' 카테고리의 다른 글
스레드와 코루틴의 차이 (0) | 2021.11.05 |
---|---|
[Kotlin] 특정문자 제거 (0) | 2021.09.29 |
숫자 형식맞춰 출력하기 (#,###) - DecimalFormat (0) | 2021.08.19 |
카카오맵 예제 코드 모음 (0) | 2021.07.24 |
코틀린 버튼 클릭시 특정 사이트로 이동 (0) | 2021.06.29 |
댓글