package mainimport ( 'fmt' 'time')func main() { now := time.Now().UTC() // 显示时间格式: UnixDate = 'Mon Jan _2 15:04:05 MST 2006' fmt.Printf('%sn', now.Format(time.UnixDate)) // 显示时间戳 fmt.Printf('%ldn', now.Unix()) // 显示时分:Kitchen = '3:04PM' fmt.Printf('%sn', now.Format('3:04PM'))}
更多时间格式
const ( ANSIC = 'Mon Jan _2 15:04:05 2006' UnixDate = 'Mon Jan _2 15:04:05 MST 2006' RubyDate = 'Mon Jan 02 15:04:05 -0700 2006' RFC822 = '02 Jan 06 15:04 MST' RFC822Z = '02 Jan 06 15:04 -0700' // RFC822 with numeric zone RFC850 = 'Monday, 02-Jan-06 15:04:05 MST' RFC1123 = 'Mon, 02 Jan 2006 15:04:05 MST' RFC1123Z = 'Mon, 02 Jan 2006 15:04:05 -0700' // RFC1123 with numeric zone RFC3339 = '2006-01-02T15:04:05Z07:00' RFC3339Nano = '2006-01-02T15:04:05.999999999Z07:00' Kitchen = '3:04PM' // Handy time stamps. Stamp = 'Jan _2 15:04:05' StampMilli = 'Jan _2 15:04:05.000' StampMicro = 'Jan _2 15:04:05.000000' StampNano = 'Jan _2 15:04:05.000000000')2. 时间字符串解析成时间格式
package mainimport ( 'fmt' 'time')func main() { timeStr := '2018-01-01' fmt.Println('timeStr:', timeStr) t, _ := time.Parse('2006-01-02', timeStr) fmt.Println(t.Format(time.UnixDate))}3. 获取当天零点时间戳
方法1
package mainimport ( 'fmt' 'time')func main() { timeStr := time.Now().Format('2006-01-02') t, _ := time.Parse('2006-01-02', timeStr) fmt.Println(t.Format(time.UnixDate)) //Unix返回早八点的时间戳,减去8个小时 timestamp := t.UTC().Unix() - 8*3600 fmt.Println('timestamp:', timestamp)}
方法2
package mainimport ( 'fmt' 'time')func main() { now := time.Now() t, _ := time.ParseInLocation('2006-01-02', now.Format('2006-01-02'), time.Local) timestamp := t.Unix() fmt.Println(timestamp)}/*time.Local本地时区 var Local *Location = &localLoc以及UTC时区 var UTC *Location = &utcLoc还可以替换成指定时区 //func LoadLocation(name string) (*Location, error) loc, _ := time.LoadLocation('Europe/Berlin')If the name is '' or 'UTC', LoadLocation returns UTC. If the name is 'Local', LoadLocation returns Local.*/
补充:Golang中获取当天0点的格式化时间
如下所示:
EndDateLimit := time.Now().Format('2006-01-02 00:00:00')
取当天某个整点的时间戳
now := time.Now().Unix()muteEndTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 8, 0, 0, 0, time.Local).Unix()muteStartTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 22, 0, 0, 0, time.Local).Unix()
本地当前时间戳(10位)
fmt.Println(time.Now().Unix()) //1468479251
本地当前时间戳(19位)
fmt.Println(time.Now().UnixNano()) //1468480006774460462
时间戳转时间
fmt.Println(time.Unix(1389058332, 0).Format('2006-01-02 15:04:05')) //2014-01-07 09:32:12
时间转时间戳
fmt.Println(time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local).Unix())
以上为个人经验,希望能给大家一个参考,也希望大家多多支持优爱好网。如有错误或未考虑完全的地方,望不吝赐教。
相关文章:
1. 怎么让div+css兼容ie6ie7ie8ie9和FireFoxChrome等浏览器2. requestAnimationFrame使用示例详解3. 基于JavaScript实现图片裁剪功能4. React优雅的封装SvgIcon组件示例5. uniapp自定义验证码输入框并隐藏光标6. 详解JavaScript中原始数据类型Symbol的使用7. JavaScript深拷贝方法structuredClone使用8. uniapp 手机验证码输入框实现代码(随机数、倒计时、隐藏手机号码中间四位)可以直接使用9. 使用Node.js实现Clean Architecture方法示例详解10. Jquery使用原生AJAX方法请求数据