Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- File
- go언어
- Golang
- windows
- json
- C
- Callback
- API
- window
- http
- bitcoin
- 책
- go
- FOR
- channel
- mutex
- 영화
- GO 언어
- Python
- c++
- Sync
- package
- 리뷰
- install
- Close
- tcp
- JavaScript
- Linux
- write
- range
Archives
- Today
- Total
Code Habit
Golang ) package time 본문
time 패키지는 현재 시간을 구하거나, 일정한 시간을 측정하는 등 시간 관련 기능을 다룰 때 사용한다.
- 현재 시간 구하기 & 포맷 변경
// main.go
package main
import (
"fmt"
"time"
)
func main() {
// 현재 시간
now := time.Now()
fmt.Println(now) // 2020-06--19 14:45:56.1516017 +0900 KST m=+0.006982201
// yyyy-mm-dd hh:mm:ss 형식으로 포맷
custom := now.Format("2006-01-02 15:04:05")
fmt.Println(custom) // 2020-06-19 14:45:56
custom = now.Format("2006-01-02")
fmt.Println(custom) // 2020-06-19
// x
custom = now.Format("yyyy-mm-dd")
fmt.Println(custom) // yyyy-mm-dd
}
|
Format() 함수를 통해 흔히 사용하는 'yyyy-mm-dd' 포맷으로 변경할 때 "yyyy-mm-dd"가 아닌 "2006-01-02"를 인자로 넘겨줘야 한다.(다른 날짜를 넘기면 원하는 결과가 출력되지 않는다.)
- 시간 가(감)산하기
// main.go
package main
import (
"fmt"
"time"
)
func main() {
// 현재 시간
var now = time.Now()
// 시간 감산하기
var date = now.AddDate(-1, 0, 0)
fmt.Println(date) // 2019-06-19 14:55:58.985889 +0900 KST : 1년 전
date = now.AddDate(0, -1, 0)
fmt.Println(date) // 2020-05-19 14:55:58.985889 +0900 KST : 1달 전
date = now.AddDate(0, 0, -1)
fmt.Println(date) // 2020-06-18 14:55:58.985889 +0900 KST : 1일 전
// 년, 월, 일 구하기
var from = fmt.Sprintf("%d-%d-%d 00:00:00", date.Year(), date.Month(), date.Day())
var to = fmt.Sprintf("%d-%d-%d 23:59:59", date.Year(), date.Month(), date.Day())
fmt.Println(from) // 2020-6-18 00:00:00
fmt.Println(to) // 2020-6-18 23:59:59
return
}
|
AddDate() 함수를 통해 시간을 가(감)산할 수 있다. 시간 정보를 따로따로 구분해서 가져오려면 Year(), Hour()등의 함수를 사용하면 된다.