Go基础编程实践(三)—— 日期和时间
日期和时间
package main
import (
"fmt"
"time"
)
func main() {
// 获取当前时间
current := time.Now()
// 格式化字符串输出
fmt.Println(current.String())
// Format函数格式化输出
// 无论要格式化什么时间,"2006-01-02 15:04:05"这几个数字固定不变
fmt.Println("MM-DD-YYYY: ", current.Format("01-02-2006"))
fmt.Println("hh:mm:ss MM-DD-YYYY:", current.Format("15:04:05 01-02-2006"))
fmt.Println("YYYY-DD-MM hh:mm:ss:", current.Format("2006-01-02 15:04:05"))
// 添加日期
// AddDate的三个参数依次为年、月、日
currentAddDate := current.AddDate(-1, 1, 0)
fmt.Println(currentAddDate)
// 添加时间
currentAdd := current.Add(10 * time.Minute)
fmt.Println(currentAdd)
// 获取时间差,利用Sub函数或者利用Add/AddDate函数增加负值
// Date函数参数:年-月-日-时-分-秒-纳秒
currentSub := current.Sub(time.Date(2000, 1, 1, 1, 1, 1, 0, time.UTC))
// currentSub :=currentAdd.Sub(current)
fmt.Println(currentSub)
// 从字符串解析时间
str := "2019-06-29T17:17:17.777Z"
layout := "2006-01-02T15:04:05.000Z"
t, err := time.Parse(layout, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(t)
}
Go基础编程实践(三)—— 日期和时间的更多相关文章
- Java基础篇(04):日期与时间API用法详解
本文源码:GitHub·点这里 || GitEE·点这里 一.时间和日期 在系统开发中,日期与时间作为重要的业务因素,起到十分关键的作用,例如同一个时间节点下的数据生成,基于时间范围的各种数据统计和分 ...
- 并发编程实践三:Condition
Condition实例始终被绑定到一个锁(Lock)上.Lock替代了Java的synchronized方法,而Condition则替代了Object的监视器方法,包含wait.notify和noti ...
- Go基础编程实践(六)—— 文件
检查文件是否存在 在此程序同目录下创建log.txt文件,以检测. package main import ( "os" "fmt" ) func main() ...
- Go基础编程实践(二)—— 类型转换
bool to string strconv包的FormatBool函数用于将bool转为string package main import ( "fmt" "strc ...
- Go基础编程实践(十)—— 数据库
从数据库中读取数据 在http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main ...
- Go基础编程实践(九)—— 网络编程
下载网页 package main import ( "io/ioutil" "net/http" "fmt" ) func main() ...
- Go基础编程实践(八)—— 系统编程
捕捉信号 // 运行此程序,控制台将打印"Waiting for signal" // 按Ctrl + C 发送信号以关闭程序,将发生中断 // 随后控制台依次打印"Si ...
- Go基础编程实践(七)—— 并发
同时运行多个函数 观察常规代码和并发代码的输出顺序. // 常规代码,顺序执行,依次输出 package main import ( "fmt" "time" ...
- Go基础编程实践(五)—— 错误和日志
自定义错误类型 Go中可以使用errors.New()创建错误信息,也可以通过创建自定义错误类型来满足需求.error是一个接口类型,所有实现该接口的类型都可以当作一个错误类型. // error类型 ...
随机推荐
- Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
在VS中打开您遇到问题的解决方案. 转到工具> NuGet包管理器>包管理器设置 - >常规,然后点击“清除所有NuGet缓存” 这应该返回一个错误,因为你有一个项目打开,但如果没有 ...
- 一篇常做错的经典JS闭包面试题
作者 | Jeskson 来源 | 达达前端小酒馆 1 究竟是怎么样的一道面试题,能让我拿出来说说呢?下面请看代码: function fun(a,b) { console.log(b) return ...
- nginx php-fpm 配置问题(1)
nginx php-fpm 配置问题(1) 1.问题 Nginx/FPM/PHP all php files say 'File not found.' nginx error日志: [erro ...
- python之turtle使用:画一颗美美哒的树
关于工具介绍这里小生就不赘述了,这里附上个人觉得最详细的文档地址:https://docs.python.org/zh-cn/3/library/turtle.html?highlight=turtl ...
- pytorch数据加载
一.方法一数据组织形式dataset_name----train----val from torchvision import datasets, models, transforms # Data ...
- mac系统InetAddress.getLocalHost().getHostAddress() 很慢
java.net.InetAddress.getLocalHost() 这个调用在新版的mac os中可能会耗时很久. 解决办法有两种: 1. 就是把本机的hostname 添加到 hosts 中,例 ...
- Presto: SQL on Everything
Presto是FB开源出来的实时分析引擎,可以federated的从多种数据源去读取数据,做联合查询,支持实时Interactive BI或bath ETL的需求 从其问题域来看,基本是和spark是 ...
- 【转】SQL2008 链接Oracle 调用存储过程
1. SQL链接ORACLE 都是可视化的操作 如下图: 红色框选的是oracle的数据驱动,如果没有这个驱动 那需要单独安装oracle的client端 装完以后就有了. 2.在创建之前,在SQLS ...
- C#-DllImport 路径问题
原文:C# DllImport 相对路径无法找到dll DllImport DLL查找顺序:1.应用程序所在目录2.Windows目录和Windows\System32目录3.环境变量目录 只需要你把 ...
- JS项目快速压缩(windows平台)
问题 当下JS项目都有node_modules,从而项目文件多,容量大. 如何快速压缩一个JS项目? 方法 首先对JS项目安装生产环境的依赖npm install --production. 这时不要 ...