新聞中心
在我們編程過程中,經(jīng)常會用到與時間相關(guān)的各種務(wù)需求,下面來介紹 golang 中有關(guān)時間的一些基本用法,我們從 time 的幾種 type 來開始介紹。

成都創(chuàng)新互聯(lián)公司是專業(yè)的岫巖網(wǎng)站建設(shè)公司,岫巖接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行岫巖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
一、time的常用示例
打印當(dāng)前時間戳
fmt.Println(time.Now().Unix())
# 1389058332
str格式化時間
fmt.Println(time.Now().Format("2006-01-02 15:04:05")) # 這是個奇葩,必須是這個時間點(diǎn), 據(jù)說是go誕生之日, 記憶方法:6-1-2-3-4-5
# 2018-08-25 09:42:20
時間戳轉(zhuǎn)str格式化時間
str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")
fmt.Println(str_time)
str格式化時間轉(zhuǎn)時間戳
WAR包
the_time := time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local)
unix_time := the_time.Unix()
fmt.Println(unix_time)
# 1389045004
time.Parse格式化時間
the_time, err := time.Parse("2006-01-02 15:04:05", "2014-01-08 09:04:41")
if err == nil {
unix_time := the_time.Unix()
fmt.Println(unix_time)
}
# 1389171881
二、time.Parse和time.Format的區(qū)別
在windows下,time.Parse()的時區(qū)和time.Format()的時區(qū)是一致的。但是在linux環(huán)境下,time.Parse()的默認(rèn)時區(qū)是UTC(與我們使用的標(biāo)準(zhǔn)時間CST相差8個小時),time.Format()的時區(qū)默認(rèn)是本地,兩者如果不處理好就會導(dǎo)致錯誤。具體可以做如下一個操作,找一臺linux主機(jī),將其/etc/localtime由Shanghai更換為UTC,然后分別執(zhí)行如下代碼,看下輸出的區(qū)別:
package main
import "time"
import "fmt"
func main(){
t, err := time.Parse("2006-01-02 15:04:05", "2017-12-03 22:01:02")
//localTime, err := time.ParseInLocation("2006-01-02 15:04:05", "2017-12-03 22:01:02", time.Local)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(t)
fmt.Println(time.Now())
fmt.Println(time.Now().Sub(t).Seconds())
}
分別使用time.Parse和time.ParseInLocation分別算下兩個時間之間的差值,看下哪一個求出的值是正確的?
三、再一個示例
最后再給出一個輸出當(dāng)前時間年、月、日、時等不同信息的示例代碼,如下:
package main
import(
"fmt"
"time"
)
func main(){
t := time.Now()
y,m,d := t.Date()
today := time.Now().Format("2006-01-02")
datetime := time.Now().Format("2006-01-02 15:04:05")//后面的參數(shù)是固定的 否則將無法正常輸出
fmt.Println("time is : ",t )
fmt.Println("y m d is : ",y,m,d )
fmt.Println("now is :",today)
fmt.Println("now is :",datetime)
}
網(wǎng)站名稱:簡單介紹golangtime模塊
網(wǎng)頁鏈接:http://www.fisionsoft.com.cn/article/dhopdse.html


咨詢
建站咨詢
