时间对象

创建对象

可以通过gtime.New方法创建gtime.Time对象,该方法支持time.Time、时间戳、时间字符串创建对象。其中时间戳支持到纳秒的时间整型长度。 例如:

此外,时间字符串支持常见时间类型,例如:

  1. 2017-12-14 04:51:34 +0805 LMT
  2. 2017-12-14 04:51:34 +0805 LMT
  3. 2006-01-02T15:04:05Z07:00
  4. 2014-01-17T01:19:15+08:00
  5. 2018-02-09T20:46:17.897Z
  6. 2018-02-09 20:46:17.897
  7. 2018-02-09T20:46:17Z
  8. 2018-02-09
  9. 2018.02.09
  10. 01-Nov-2018 11:50:28
  11. 01/Nov/2018 11:50:28
  12. 01.Nov.2018 11:50:28
  13. 01.Nov.2018:11:50:28
  14. 日期连接符号支持'-''/''.'

使用示例

  1. 2018-07-22 11:17:13.797
  2. Sun Jul 22 11:17:13 CST +0800 2018
  3. Time is: 11:17:13 am

可以看到,这个示例演示了几个需要注意的地方:

  1. 如果使用的字母与格式化字符冲突时,可以使用符号转义该字符,这样时间格式解析器会认为该字符不是格式化字符,而是普通字母。因此这里的第三个字符串示例输出为:Time is: 11:17:13 am
  2. 使用Format方法接收的是自定义的时间格式化语法(如:Y-m-d H:i:s),而非标准库的时间格式语法(如:2006-01-02 15:04:05),因此在这里的第四个字符串示例中原样输出参数值;

在该示例中,我们使用四种标准库的时间格式化语法格式化当前的时间并输出结果到终端。执行后,输出结果为:

  1. 2018-07-22 11:28:13.945
  2. Sun Jul 22 11:28:13 CST 2018
  3. Time is: 11:28:13 AM
  4. 2018-07-22T11:28:13.945153275+08:00 CST
  1. 自定义时间格式化语法与标准库时间格式化语法并不冲突,前者使用Format方法,后者使用Layout方法行格式化,相互独立,互不冲突,无法混用;
  2. 标准库的时间格式化语法自有特点,是不是感觉有点复杂;

执行后,输出结果为:

  1. 2020-09-19
  2. 2020-09-19 15:51:48 CST
  3. 2020-09-19 07:51:48 UTC

该示例比较简单,便不多赘述。