当前位置: 首页 > 面试题库 >

将UTC字符串转换为时间对象

宰烈
2023-03-14
问题内容

我有这个约会时间,或类似的东西。

2014-11-17 23:02:03 +0000 UTC

我想将其转换为时间对象,但time.Parse除了以下方面,我无法产生任何输出:

0001-01-01 00:00:00 +0000 UTC

我已经尝试过以下布局:

time.RFC3339
0001-01-01 00:00:00 0000 UTC
2016-10-10
time.UnixDate

还有更多-没有一个起作用。

这就是我所说的parse

updatedAt, err := time.Parse(time.UnixDate, updatedAtVar)

如何从字符串创建时间对象?


问题答案:

您很可能使用了错误的布局,并且没有检查返回的错误。

布局必须是此日期/时间,格式为您输入的时间为:

Mon Jan 2 15:04:05 -0700 MST 2006

请参阅以下工作代码:

layout := "2006-01-02 15:04:05 -0700 MST"
t, err := time.Parse(layout, "2014-11-17 23:02:03 +0000 UTC")
fmt.Println(t, err)

输出(在Go Playground上尝试):

2014-11-17 23:02:03 +0000 UTC <nil>

编辑:

在您的问题中,您+在输入时间中包含了一个符号(作为区域偏移量的一部分),但是其他格式的时间却有误。

Time.String() 使用以下格式字符串:

"2006-01-02 15:04:05.999999999 -0700 MST"

因此,可以使用它来解析时间,或者使用它Time.Format()来生成可以指定布局的字符串表示形式,以便可以使用相同的布局来解析时间字符串。

第二轮:

您将时间字符串包含在URL中。该+符号是URL编码中的特殊字符:它表示空格。因此,+gets转换为空间(因此从您的时间字符串中消失了)。使用正确的URL编码!检出net/url包装,然后查看本例。



 类似资料:
  • 问题内容: 如何将本地时间的datetime 字符串转换为UTC时间的字符串? 我确定我之前已经做过,但是找不到它,因此SO希望将来可以帮助我(和其他人)做到这一点。 澄清:例如,如果我2008-09-17 14:02:00在本地时区(+10)中,我想生成一个等效UTC时间的字符串:2008-09-17 04:02:00。 另外,从http://lucumr.pocoo.org/2011/7/15

  • 问题内容: 我试图将字符串转换为日期时间对象。我从新闻提要中获取的字符串格式如下:“星期四,2014年10月16日美国东部时间01:16:17” 我尝试使用datetime.strptime()进行转换。即 并得到以下错误: 追溯(最近一次通话最近): 文件“”,第1行,位于datetime.strptime(’Thu,16 Oct 2014 01:16:17 EDT’,’%a,%d%b%Y%H:

  • 问题内容: 给定以下字符串:如何将其转换为对象? 阅读后,我觉得这应该可以,但是不行。 应该注意的是,这没有问题: 但是我坚持下去。我宁愿完全转换它,而不以任何方式更改(或切片)它。 问题答案: 看起来strptime并不总是支持。Python似乎只是调用C函数,而您平台上不支持strptime 。 注意: 从Python 3.2开始,它将始终有效。

  • 问题内容: 我从来没有不得不将时间与UTC转换。最近有人要求我的应用注意时区,并且我一直在圈子里奔波。我发现很多有关将本地时间转换为UTC的信息,这很基本(也许我也做错了),但是我找不到任何有关将UTC时间轻松转换为最终用户时区的信息。 简而言之,android应用程序向我发送了(appengine应用程序)数据,该数据中包含时间戳。要将时间戳存储为UTC时间,我正在使用: 那似乎行得通。当我的应

  • 问题内容: 该java.util.Date 方法显示当地时区的日期。 在几种常见的情况下,我们希望以UTC格式打印数据,包括日志,数据导出以及与外部程序的通信。 在UTC中创建String表示形式的最佳方法是什么? 如何用更好的格式替换无法排序的juDate 格式(感谢@JonSkeet!)? 附录 我认为以自定义格式和时区打印日期的标准方法非常繁琐: 我一直在寻找像这样的单线: 问题答案: 遵循

  • 问题内容: 输入字符串:2012年6月14日-UTC 01:00:00 输出本地字符串:2012年6月13日-美国东部时间21:00:00 我喜欢从中获取补偿 有什么建议吗? 问题答案: 这应该可以满足您的需求: 请注意,您的示例是错误的:在UTC的6月14日凌晨1点,在EST,标准时间晚上8点或夏令时仍然是6月13日。在我的系统上,该程序会打印