package main
import (
"fmt"
"time"
)
func main() {
//1、指定年月日时分秒,创建一个时间
oneDay := time.Date(2019, 3,6, 22, 20, 0, 0, time.Local)
//2、指定当前时间
oneDay = time.Now()
//3、输出指定时间oneday的字符串格式,如:20190306222400,年月日时分秒
//如果要输出如:2019-03-06 22:27:27,则format是:%04d-%02d-%02d %02d:%02d:%02d
dayStr := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", oneDay.Year(), oneDay.Month(), oneDay.Day(), oneDay.Hour(), oneDay.Minute(), oneDay.Minute())
fmt.Println(dayStr)
//还有一种更简单的方式,如:这里的模板时间20060102150405中的时间是固定的,只能是时间2019-04-02 15:04:05的各种组合。
dayStr1 := oneDay.Format("20060102150405")
fmt.Println("dayStr1 =", dayStr1) //dayStr1 = 20190306232012
//4、将指定时间的字符串,转换成时间Time类型,如,将"2019-04-02 15:04:05"转换成Time类型的值
//注意:这里layout中的模板,可以随意编写(参考下面layout的各种变形),但时间必须是:2006-01-02 15:04:05,如果模板中用其他值,则最终拿到的结果是不对的。
layout := "2006-01-02 15:04:05"
oneTime, _ := time.Parse(layout, "2019-04-02 15:04:05")
fmt.Println("oneTime=", oneTime) //oneTime= 2019-04-02 15:04:05 +0000 UTC
layout = "20060102150405"
oneTime1, _ := time.Parse(layout, "20190306225000")
fmt.Println("oneTime1=", oneTime1) //oneTime1= 2019-03-06 22:50:00 +0000 UTC
layout = "010220061504"
oneTime2, _ := time.Parse(layout, "030620192250")
fmt.Println("oneTime2=", oneTime2) //oneTime2= 2019-03-06 22:50:00 +0000 UTC
//5、使用1970到现在的unix时间戳创建一个时间Time
oneTime3 := time.Unix(1551884600, 0)
fmt.Println("oneTime3=", oneTime3) //oneTime3= 2019-03-06 23:03:20 +0800 CST
//6、返回一个时间的unix时间戳,即秒值
s := oneTime3.Unix()
fmt.Println("s=", s) //s= 1551884600
//7、返回一个时间的纳秒时间戳,纳秒时间戳是在unix时间戳后面加9位
ns := oneTime3.UnixNano()
fmt.Println("ns=", ns) //ns= 1551884600000000000
//8、返回一个时间前后的日期,这种方法可以前后调整精确的时间
//返回一个日期三天半后的时间,一天86400秒
oneTime4 := oneTime3.Add(3.5 * 86400 * time.Second)
fmt.Println("oneTime4 =", oneTime4) //oneTime4 = 2019-03-10 11:03:20 +0800 CST
//返回一个日期三天前的时间,一天86400秒
oneTime5 := oneTime3.Add(-3 * 86400 * time.Second)
fmt.Println("oneTime5 =", oneTime5) //oneTime5 = 2019-03-03 23:03:20 +0800 CST
//9、给一个时间,增加或减去指定的几年几个月几日,如,给一个时间增加三天,简便方法是
oneTime6 := oneTime3.AddDate(0, 0, 3)
fmt.Println("oneTime6 =", oneTime6) //oneTime6 = 2019-03-09 23:03:20 +0800 CST
//增加一个月
oneTime7 := oneTime3.AddDate(0, 1, 0)
fmt.Println("oneTime7 =", oneTime7) //oneTime7 = 2019-04-06 23:03:20 +0800 CST
fmt.Println(oneDay)
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- JNI常用类型转换
- 常用证书格式如何转换教程
- JavaScript进阶系列-类型转换、隐式类型转换
- Android 多国语言转换 Excel 和 Excel 转换为 string
- [SSL证书转换(一)]关于JKS 转换成 CRT 和 KEY
- c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互...
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法竞赛入门经典
刘汝佳 / 清华大学出版社 / 2009-11 / 24.00元
《算法竞赛入门经典》是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助......一起来看看 《算法竞赛入门经典》 这本书的介绍吧!