时间格式化
格林威治时间转国内时间格式(带时差转换) TZ
package main import ( "fmt" "time" ) func main() { // "2019-01-05T11:21:03Z" 转 "2019-01-05 19:21:03" duestr := "2019-01-05T11:21:03Z" duetime, _ := time.Parse("2006-01-02T15:04:05Z", duestr) fmt.Println(time.Unix(duetime.Unix(), 0).Format("2006-01-02 15:04:05")) }
时间格式化 字符串"2019-04-07 15:15:05" 转字符串 2019-04-07T15:15:05+0800
package main import ( "encoding/json" "fmt" "time" ) func main() { timeStr := "2019-04-07 15:15:05" fmt.Println("初始:", timeStr) t, _ := time.ParseInLocation("2006-01-02 15:04:05", timeStr, time.Local) //方法一 tBytes, _ := json.Marshal(t) fmt.Println("方法一:", string(tBytes)) //方法二 tStr := t.Format("2006-01-02T15:04:05.999999999-0700") fmt.Println("方法二:", tStr) }
时间格式化 字符串"2019-04-07 15:15:05" 转字符串 2019-04-07T15:15:05+0800 UTC
package main import ( "fmt" "time" ) func main() { timeStr := "2019-04-07 15:15:05" fmt.Println("初始:", timeStr) t, _ := time.ParseInLocation("2006-01-02 15:04:05", timeStr, time.Local) tStr := t.Format("2006-01-02T15:04:05.999999999-0700 UTC") fmt.Println("结果:", tStr) }
2.时间格式化 字符串格式化----结果字符串
package main import "time" // TPFunDateTimeStringFormat 时间格式化 字符串格式化----结果字符串 func TPFunDateTimeStringFormat(timeValue string, fmt string) string { //timeValue := "2018-11-10T23:38:22.771406875+08:00" //时间字符串 timeLayout := "2006-01-02T15:04:05.999999999Z07:00" //所需模板 loc, _ := time.LoadLocation("Local") //***获取时区*** theTime, _ := time.ParseInLocation(timeLayout, timeValue, loc) //使用模板在对应时区转化为time.time类型 // 0001-01-01T00:00:00Z这里也表示时间为null if theTime.IsZero() { return "" } else { //时间戳转日期 //dataTimeStr := theTime.Format("2006-01-02 15:04:05") //使用模板格式化为日期字符串 dataTimeStr := theTime.Format(fmt) //使用模板格式化为日期字符串 return dataTimeStr } }
3.golang 时间time 格式化为字符串string/时间格式化为字符串
package main import "time" // TPFunDateTimeStringFormat 时间格式化 时间格式化字符串 func TPFunDateTimeTimeFormat(timeValue time.Time, fmt string) string { if !timeValue.IsZero() { chinaLocal, _ := time.LoadLocation("Local") return timeValue.In(chinaLocal).Format(fmt) //使用模板格式化为日期字符串 } else { return "" } }
4.golang 时间字符串转time时间格式 /time类型转字符串
package main import "time" func TimeStr2Time(timeStr string) time.Time { var layout = "2006-01-02 15:04" //转换的时间字符串带秒则 为 2006-01-02 15:04:05 timeVal, errByTimeConver := time.ParseInLocation(layout, timeStr, time.Local) if errByTimeConver != nil { log.Error("TimeStr To Time Error.....", errByTimeConver) } return timeVal }
golang interface 转string、int 等其他类型转换
1.interface 转 int
package main import ( "fmt" ) func main() { //定义一个interface类型的变量 var inter interface{} //赋值 inter = 1 //定义一个int64的变量 var i int64 //将interface类型的inter转为int64 i = inter.(int64) //打印 fmt.Println(i) }
2.interface 转 string
package main import ( "fmt" ) func main() { //定义一个interface类型的变量 var inter interface{} //赋值 inter = "1" //定义一个string的变量 var str string //将interface类型的inter转为string str = inter.(string) //打印 fmt.Println(str) }
3.interface 转 结构体
package main import "fmt" type Person struct { Name string Age string } func main() { //定义一个interface类型的变量 var inter interface{} //赋值 inter = Person{"student", "18"} //定义一个person类型的p var p Person //将类型为interface的inter转为person类型 p = inter.(Person) //打印 fmt.Println(p) }
4.string int 互转
package main import ( "fmt" "strconv" ) func main() { //定义一个interface类型的变量 //定义一个interface类型的变量 var str string //赋值 str = "1" //定义一个int类型 var i int //使用 数据转换包strconv //string 转 int i, _ = strconv.Atoi(str) fmt.Printf("i=%d\n", i) //int 转 字符串 str02 := strconv.Itoa(i) fmt.Printf("str02=%s", str02) }
float转字符串
package main import "fmt" //float转字符串 func TPFunctionFloat64Format(a float64, fmtStr string) string { return fmt.Sprintf(fmtStr, a) }
float保留小数
package main import ( "fmt" "strconv" ) //float转字符串 func main() { var f float64 var nf, error = strconv.ParseFloat(fmt.Sprintf("%.6f", f), 64) fmt.Println(nf, error) }
- 本文固定链接: https://phpmianshi.com/?id=1909
- 转载请注明: admin 于 PHP面试网 发表
《本文》有 0 条评论