Goland 时间转换的那些事
Goland 时间转换的那些事
在项目的开发过程中遇到的一个很有意思的时间转换问题
例子
假设有一个需求,是从数据库获取到了一个时间,然后需要把时间延后一天,再返回时间戳
得到伪代码
t := "2022-03-08 23:59:59"
expireTime, _ := time.Parse("2006-01-02 15:04:05", t)
expireTime = expireTime.Add(time.Hour * 24)
fmt.Println(expireTime.Unix())
//输出
1646870399
用时间转换的在线网站对1646870399 进行转换得到
2022-03-10 07:59:59
这于我们理想中的2022-03-09 23:59:59有很大差距
那么问题出现在哪里呢?我们看看time.Parse()这个方法的说明In the absence of a time zone indicator, Parse returns a time in UTC.
就可以知道:在没有时区指示符的情况下,Parse返回UTC时间。
所以得到的打印结果会与理想中有差距
正确的方法
1. 换成time.ParseInLocation来指定时区
t := "2022-03-08 23:59:59"
expireTime, _ := time.ParseInLocation("2006-01-02 15:04:05", t, time.Local)
expireTime = expireTime.Add(time.Hour * 24)
fmt.Println(expireTime.Unix())
//输出
1646841599
//转换后,与理想中的答案一样
2022-03-09 23:59:59
2. 在转换成时间戳的时候指定时区
t := "2022-03-08 23:59:59"
expireTime, _ := time.ParseInLocation("2006-01-02 15:04:05", t, time.Local)
expireTime = expireTime.Add(time.Hour * 24)
fmt.Println(expireTime.Local().Unix())
//输出
1646841599
//转换后,与理想中的答案一样
2022-03-09 23:59:59
Goland 时间转换的那些事的更多相关文章
- [jquery]将当前时间转换成yyyymmdd格式
如题: function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate ...
- MySQL 日期、时间转换函数
MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...
- java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间
对于我的脑子,我已经服气了...写了N遍的东西,就是记不住...既然记不住那就记下来... 利用java获取当前的时间(String类型,年-月-日 时:分:秒) //我要获取当前的日期 Date d ...
- inner join ,left join ,right join 以及java时间转换
1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1 a12 a23 a3表bbid bdate1 ...
- Python基本时间转换
时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...
- Date类型时间转换
/* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...
- unix环境C编程之日期时间转换
1.理清概念 1.1.日历时间: 含义:国际标准时间1970年1月1日00:00:00以来经过的秒数. 数据类型:time_t.实际上是long的别名. 1.2.tm结构时间: 含义:结构 ...
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Js 处理将时间转换 “年-月-日”
将时间 \/Date(1432828800000+0800)\/" 转换成:“年-月-日” //时间转换function ChangeDateFormat(val) { if (v ...
随机推荐
- centOS 强制卸载PHP
centOS上的php过低是需要重新安装时,不得不卸载自定义安装,如下操作 查看php版本命令: #php -v 这个命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #p ...
- 解决Wordpress提示FTP登录问题
向wordpress目录的wordpress-config.php中添加 define("FS_METHOD", "direct"); define(" ...
- js 数组map用法 Array.prototype.map()
map 这里的map不是"地图"的意思,而是指"映射".[].map(); 基本用法跟forEach方法类似: array.map(callback,[ thi ...
- 自定义带图片和文字的Button的排版--陈棚
自定义button,动态加载图片与文字 [footView addSubview:btnAllChoose]; [btnAllChoose setTitle:str forState:UIContro ...
- 用代码创建并实例化在storyboard中声明的ViewController
我们的项目最早是基于storyboard开发的,所以一开始所有的ViewController都通过storyboard创建,并通过segue连接跳转 但是今天其中一个controller的view,我 ...
- Elasticsearch使用系列-基本查询和聚合查询+sql插件
Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...
- Solution -「CF 487E」Tourists
\(\mathcal{Description}\) Link. 维护一个 \(n\) 个点 \(m\) 条边的简单无向连通图,点有点权.\(q\) 次操作: 修改单点点权. 询问两点所有可能路 ...
- zabbix-agentd;客户端开启多个端口。
学习标杆:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/configuring_basic ...
- python写的百度图片爬虫
学了一下python正则表达式,写一个百度图片爬虫玩玩. 当技术遇上心术不正的人,就成我这样的2B青年了. python3.6开发.程序已经打包好,下载地址: http://pan.baidu.com ...
- [Java]Thinking in Java 练习2.10
题目 编写一个程序,打印出从命令行获得的三个参数.为此,需要确定命令行数组中String的下标. 代码 1 public class Ex2_10 { 2 public static void mai ...