Go语言进阶 --- Time包的使用

Time包的使用

常用方法介绍

获取当前时间

  • time.Now() 方法返回值是Time类型的值,直接输出返回值,得到的结果是默认格式下的时间戳

  • 代码展示

    //获取当前时间nowTime := time.Now()fmt.Println(nowTime)
    

获取指定的时间

  • time.Data()方法的参数包含很多值,包括年月日,时分秒,毫秒微秒,时区

  • 返回值是一个指定时间的时间戳,一般用于创建时间戳,用于参与判断等

  • 代码展示

    	AppointTime := time.Date(2020, 11, 25, 0, 0, 0, 0, time.Local)//time.Localfmt.Println(AppointTime)
    

指定时间输出格式/解析时间字符为时间戳

  • 1.使用Time类型中的Format("格式模版")方法转化
    2.模版的日期必须是固定的: 06-1-2-3-4-5(年 月 日 时 分 秒)
    
  • 指定时间的输出格式,目的是方便日志记录以及自己查看出现问题的地方

  • 主要函数

    • Time类型的Format()方法
    • 方法参数: 时间格式模版
    • 模版的日期必须是固定的: 06-1-2-3-4-5(年 月 日 时 分 秒)
    • 意思是说,年的末尾要是6,月是1,日是2…以此类推
    • 例如格式:
      • 2006年01月02日 03时04分05秒
      • 2006-01-02 ,03-04-05
      • 2006年01月02日 03:04:05
  • 代码展示

    	time1 := time.Now()FString := time1.Format("2006年01月02日 03时04分05秒")fmt.Println(FString)
    
  • //解析时间字符串为时间戳
    1.使用time包中的Parse("格式模版")
    2.格式模版必须和需要解析字符串的模版一致
    
  • 将获得的时间字符串转换成时间戳,方便进行运算,比较等…

  • 主要函数

    • Time类型的Parse()方法
    • 方法参数: 1.模版格式 2.需要转化的时间字符串
    • 格式模版必须和需要解析字符串的模版一致
  • 代码展示

    	time2 := "2023年10月09日 01时10分12秒"PTime, err := time.Parse("2006年01月02日 03时04分05秒", time2)if err != nil {fmt.Println(err)}fmt.Println(PTime)
    

单独获取时间

  • 直接代码展示
//单独获取时间time3 := time.Now()//获取年year := time3.Year()//获取月month := time3.Month()//获取日day := time3.Day()//获取时hour := time3.Hour()//获取分minute := time3.Minute()//获取秒second := time3.Second()//获取微秒nanosecond := time3.Nanosecond()//获取时区location := time3.Location()fmt.Println(year, month, day, hour, minute, second, nanosecond, location)//获取年月日time3.Date()//获取时分秒time3.Clock()//获取星期time3.Weekday()//获取今年过去的时间time3.YearDay()

添加时间

  • 在获取的时间戳中添加或减少事时间

  • 方法

    • Time类中的Add()方法,参数是一个数值,默认是距离时间戳多少纳秒
    • Time类中的AddDate()方法,参数是年月日
    • 注意: 添加时间(正数表示往后添加,负数表示往前添加)
  • 代码展示

    fmt.Println("添加之后的时间", timeData.Add(1*time.Second)) //默认单位是纳秒,也可以自己添加fmt.Println("添加后的时间", timeData.AddDate(1, 2, 3))
    

计算时间差

  • 方法:

    • Time类中的Sub()方法
    • 参数是另外一个Time类型的值
    • 返回值是 时间差 ,单位是纳秒
  • 代码展示

    fmt.Println("时间的间隔: ", timeData.Sub(time.Now()))
    

利用时间戳制作随机数的种子

  • 使用不断变化的时间戳,制作随机数的种子,使得获取到的随机数更加随机

  • 代码展示

  • //随机数值rand.NewSource(time.Now().Unix())fmt.Println("随机数值:", rand.Intn(10)-1)
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测算法发展史

前言 比起图像识别,现在图片生成技术要更加具有吸引力,但是要步入AIGC技术领域,首先不推荐一上来就接触那些已经成熟闭源的包装好了再提供给你的接口网站,会使用别人的模型生成一些图片就能叫自己会AIGC了吗?那样真正…

定档11月2日,YashanDB 2023年度发布会完整议程公布

数据库作为支撑核心业务的关键技术,对数字经济的发展有着重要的支撑作用,随着云计算、AI等技术的迅猛发展和数据量的爆发式增长,推动着数据库技术的加速创新。 为了应对用户日益复杂的数据管理需求,赋能行业国产化建设和数字化转型…

怎样远程控制电脑桌面?

现代社会使用电脑办公的居多,但经常会遇到忘记下载工作文件,需要远程查看。或是电脑出现故障,维修人员可以远程处理等现象。怎样远程控制电脑桌面呢? 远程桌面可以理解成,是一种不同电脑之间共享桌面的技术。它允许用…

Windows详细安装和彻底删除RabbitMQ图文流程

RabbiitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP:Advanced Message Queue Protocol)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而聚类和故障转移是构建在开放…

IRF联动 BFD-MAD

文章目录 IRF堆叠一、主设备配置二、备设备配置三、验证 MAD检测一、MAD检测二、MAD验证 本实验以2台设备进行堆叠示例,按照配置顺序,先配置主设备,再配置备设备。在IRF配置前暂时先不接堆叠线,按步骤提示接线。 IRF堆叠 一、主设…

C语言-递归和迭代

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

HTML常用标签、CSS基础

HTML常用标签 标签的分类 1. 单标签 img br hr <img /> 2. 双标签 a h p div <a></a> 3. 按照标签属性分类 1. 块儿标签 # 自己独自占一行 h1-h6 p div 2. 行内(内联)标签 # 自身文本有多大就占多大 …

华为OD机考算法题:支持优先级的队列

题目部分 题目支持优先级的队列难度易题目说明实现一个支持优先级的队列&#xff0c;高优先级&#xff08;数字越大&#xff0c;优先级越高&#xff09;先出队列&#xff1b;同优先级时先进先出。 如果两个输入数据和优先级都相同&#xff0c;则后一个数据不入队列被丢弃。 队…

Windows下Redis配置密码,并设置自启动

1. 解压redis修改配置文件&#xff08;设置密码&#xff09; 打开Redis的配置文件&#xff0c;通常位于Redis安装目录下的 redis.windows.conf 去掉"requirepass"前注释&#xff0c;修改"foobared"为要设置的密码 requirepass foobared2.注册服务&#x…

Docker 批量导出/导入镜像

可以编写一个脚本&#xff0c;该脚本循环遍历一个文件夹中的所有镜像存档文件&#xff0c;并使用 docker load 命令加载它们。以下是一个 Bash 脚本示例&#xff1a; 导出&#xff1a; #!/bin/bash### 批量docker镜像的_脚本 # 获取到 "image:tag" 格式的镜像名 IMG…

Mac 安装psycopg2,报错Error: pg_config executable not found.

在mac 上安装psycopg2的方法&#xff1a;执行&#xff1a;pip3 install psycopg2-binary。 如果执行pip3 install psycopg2&#xff0c;无法安装psycopg2 报错信息如下&#xff1a; Collecting psycopg2Using cached psycopg2-2.9.9.tar.gz (384 kB)Preparing metadata (set…

9.Vue2-监听属性的用法

题记 vue2监听属性的用法 计数器 使用watch实现计数器&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>实例</title> <script src"https://cdn.staticfile.org/vue/2.4.2/vue.min.js"…

SpringCloud之Eureka的学习【详细】

目录 服务架构演变 单体架构 分布式架构 分布式架构需要考虑的问题 微服务 架构比较 微服务技术对比 服务拆分注意事项 案例 服务远程调用 RestTemplate Eureka注册中心 RestTemplate存在的问题 服务调用考虑的问题 Eureka的作用 搭建EurekaServer 服务注册 …

刷穿力扣(31~60)

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 31. 下一个排列 排列原理就是 C 中的 next_permutation 函数&#xff0c;生成指定序列的下一个全排列从给定序列的最右端开始&#xff0c;找到第一个满足 nums[i] < nums[i 1] 的元素 nums[i]若找不到这…

挑战吧,HarmonyOS应用开发工程师

一年一度属于工程师的专属节日1024&#xff0c;多重活动亮相啦~ 参与活动即有机会获得HUAWEI Freebuds 5i 耳机等精美礼品&#xff01; 点击“阅读原文”查看更多活动详情&#xff01;

算法笔记【8】-合并排序算法

文章目录 一、前言二、合并排序算法基本原理三、实现步骤四、优缺点分析 一、前言 合并排序算法通过采用分治策略和递归思想&#xff0c;实现了高效、稳定的排序功能。本文将深入探讨合并排序算法的原理、实现步骤&#xff0c;并讨论其优缺点。 二、合并排序算法基本原理 合…

双向链表的初步练习

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇: Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”…

java集合之List接口实现类常用方法详解

目录 一、List集合概述 二、ArrayList类 三、ArrayList常用方法实例 四、LinkedList类 五、Linkedist常用方法实例 一、List集合概述 java.util.List接口继承自Collection接口&#xff0c;是单列集合的一个分支&#xff0c;通常将实现了List接口的对象称为List集合&#x…

MySQL数据库干货_09—— MySQL中的外键约束(Foreign Key)

外键约束(Foreign Key) 添加外键约束 使用DDL语句添加外键约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY( 列 名 ) REFERENCES 参照的表名(参照的列名);示例一&#xff1a; 创建 departments 表包含 department_id 、department_name &#xff0c;location_id。…