首页 > 其他分享 >go语言基础-时间和日期

go语言基础-时间和日期

时间:2023-08-04 14:25:41浏览次数:38  
标签:语言 fmt Println 日期 time go Dec 2011 21

time 包为我们提供了一个数据类型 time.Time(作为值使用)以及显示和测量时间和日期的功能函数。

当前时间可以使用 time.Now() 获取,或者使用 t.Day()t.Minute() 等等来获取时间的一部分;你甚至可以自定义时间格式化字符串,例如: fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) 将会输出 21.07.2011

Duration 类型表示两个连续时刻所相差的纳秒数,类型为 int64Location 类型映射某个时区的时间,UTC 表示通用协调世界时间。

包中的一个预定义函数 func (t Time) Format(layout string) string 可以根据一个格式化字符串来将一个时间 t 转换为相应格式的字符串,你可以使用一些预定义的格式,如:time.ANSIC 或 time.RFC822

一般的格式化设计是通过对于一个标准时间的格式化描述来展现的,这听起来很奇怪(02 Jan 2006 15:04 是 Go 语言的诞生时间且自定义格式化时必须以此时间为基准),但看下面这个例子你就会一目了然:

fmt.Println(t.Format("02 Jan 2006 15:04")) 

输出

21 Jul 2011 10:31

示例:

package main
import (
    "fmt"
    "time"
)

var week time.Duration
func main() {
    t := time.Now()
    fmt.Println(t) // e.g. Wed Dec 21 09:52:14 +0100 RST 2011
    fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year())
    // 21.12.2011
    t = time.Now().UTC()
    fmt.Println(t) // Wed Dec 21 08:52:14 +0000 UTC 2011
    fmt.Println(time.Now()) // Wed Dec 21 09:52:14 +0100 RST 2011
    // calculating times:
    week = 60 * 60 * 24 * 7 * 1e9 // must be in nanosec
    week_from_now := t.Add(time.Duration(week))
    fmt.Println(week_from_now) // Wed Dec 28 08:52:14 +0000 UTC 2011
    // formatting times:
    fmt.Println(t.Format(time.RFC822)) // 21 Dec 11 0852 UTC
    fmt.Println(t.Format(time.ANSIC)) // Wed Dec 21 08:56:34 2011
    // The time must be 2006-01-02 15:04:05
    fmt.Println(t.Format("02 Jan 2006 15:04")) // 21 Dec 2011 08:52
    s := t.Format("20060102")
    fmt.Println(t, "=>", s)
    // Wed Dec 21 08:52:14 +0000 UTC 2011 => 20111221
}

 

标签:语言,fmt,Println,日期,time,go,Dec,2011,21
From: https://www.cnblogs.com/songyunjie/p/17605780.html

相关文章

  • go语言基础-strings和strconv包
    作为一种基本数据结构,每种语言都有一些对于字符串的预定义处理函数。Go中使用 strings 包来完成对字符串的主要操作。前缀和后缀HasPrefix() 判断字符串 s 是否以 prefix 开头:strings.HasPrefix(s,prefixstring)boolHasSuffix() 判断字符串 s 是否以 suffix......
  • go语言基础-基本类型和布尔
    这部分讲解有关布尔型、数字型和字符型的相关知识。表达式是一种特定类型的值,它可以由其他的值以及运算符组合而成。每个类型都定义了可以和自己结合的运算符集合,如果你使用了不在这个集合中的运算符,在编译时获得编译错误。一元运算符只可以用于一个值的操作(作为后缀),而二元运算......
  • C语言.多级指针
    #include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){longaa=123;longaaa=&aa;//warning:initializationof‘longint’from‘longint*’makesintegerfrompointerwithoutacast//这里,编译器......
  • 指针进阶(C语言)
    指针进阶头文件#include<stdio.h>#include<stdlib.h>#include<string.h>字符指针intmain(){//字符指针chararr1[]="abcdef";chararr2[]="abcdef";char*p1="abcdef";char*p2="abcdef";......
  • 4 抽象工厂方法 -- go语言设计模式
    工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。因此,可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是本文将要学习的......
  • linux上使用yum部署mongodb4.2+分片副本
    来源:https://blog.51cto.com/wutengfei/5937039系统配置Linux是有文件句柄限制的,而且默认不是很高,一般都是1024,作为一台生产服务器,其实很容易就达到这个数量。为防止服务因toomanyopenfiles错误出现宕机,这里需要对linux系统句柄数进行调整。##临时调整,系统重启即失效ulimit......
  • go语言基础-基础数据类型之常量
    常量使用关键字const定义,用于存储不会改变的数据。存储在常量中的数据类型只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的定义格式:constidentifier[type]=value,例如:constPi=3.14159在Go语言中,你可以省略类型说明符[type],因为编译器可以根据变量的值来......
  • go语言基础-语言的核心结构与技术之基本结构要素
    packagemainimport"fmt"funcmain(){fmt.Println("hello,world")}上述伪代码可以看到,学习go语言的基本语法,接下来,针对这段伪代码分析packagemain封装的概念,导入与可见性包是构造代码的一种方式:每个程序都由包(通常简称为pkg)的概念组成,可以使用自身的包或者......
  • Go - go get
    zzh@ZZHPC:~/zd/MyPrograms/Go/zapp10$gorunmain.gomain.go:6:5:norequiredmoduleprovidespackagegithub.com/XXX/zzhrepo1/calc;toaddit:gogetgithub.com/XXX/zzhrepo1/calczzh@ZZHPC:~/zd/MyPrograms/Go/zapp10$catgo.modmodulezapp10go1.2......
  • R语言改进关联规则挖掘Apriori在超市销售数据可视化
    全文链接:https://tecdat.cn/?p=33364原文出处:拓端数据部落公众号超市业已成为商业领域最具活力的商业业态,竞争也变得日益激烈。数据挖掘技术越来越多地服务于超市营销战略,本文在数据挖掘的基础上,深入分析了关联规则算法,研究算法的基本思想、算法的性质,并对算法进行详细的性能分......