Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby与Golang时间解析_Ruby On Rails_Ruby_Go_Time - Fatal编程技术网

Ruby on rails Ruby与Golang时间解析

Ruby on rails Ruby与Golang时间解析,ruby-on-rails,ruby,go,time,Ruby On Rails,Ruby,Go,Time,我了解如何使用Golang从字符串解析时间 目前,我在rails/ruby中发出一个由Go处理的请求,并在其中传入一个时间参数 这就是我在rails中所做的 resp = connection.get "url", { updated_at: updated_at }.compact 而更新时间是Time.now-1.day 在围棋中,这就是我解析时间的方式,在把时间弄出来之后 updatedAt, err := time.Parse("2006-01-02 15:04:05

我了解如何使用Golang从字符串解析时间

目前,我在rails/ruby中发出一个由Go处理的请求,并在其中传入一个时间参数

这就是我在rails中所做的

  resp = connection.get "url", {
    updated_at: updated_at
  }.compact
更新时间是
Time.now-1.day

在围棋中,这就是我解析时间的方式,在把时间弄出来之后

updatedAt, err := time.Parse("2006-01-02 15:04:05 -0700 MST", updatedAtVar)
如果时间看起来像这样,上面的方法就行了

2014-11-17 23:02:03 +0000 UTC
但是Ruby吐出的时间看起来像

2016-08-10 22:29:51 +0000
当解析结果为

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

我可以将什么传递到参数中,以便go正确解析时间

中提供的格式字符串包含一些冗余信息(特别是MST和-0700传递相同的信息—UTC偏移量,单位为小时*100+分钟)


因此,只需将“MST”从格式字符串中删除。

中提供的格式字符串包含一些冗余信息(特别是MST和-0700传递相同的信息—UTC偏移量,单位为小时*100+分钟)


所以,只需将“MST”从格式字符串中删除。

啊,谢谢!我还想知道-如果我想在围棋中获得
2014-11-17 23:02:03+0000 UTC
,我该怎么做?使用
time.Format
以您想要的格式将时间以字符串形式排列,再次使用sentinel值
Mon Jan 2 15:04:05-0700 MST 2006
(助记符:1/2 3:04:05 pm'06,-0700)。所以对于这个例子:
time.Format(“2006-01-02 15:04:05-0700 MST”)
(我有点希望他们用
2001-02-03 4:05:06 pm,-0700 MST
作为他们的记忆哨兵值,但不管怎样。)等等..那么我如何得到像
2014-11-17 23:02:03+0000这样的时间呢?如果你想要一个
time.time
变量,它的值代表
2014-11-16 23:02:03+0000
,然后调用
time.Parse(“2006-01-02 15:04:05-0700”,“2014-11-16 23:02:03+0000”)
。如果您在某个
var t time.time
中已经有了它,并且您想以该格式将其打印为字符串,那么请调用
t.format(“2006-01-02 15:04:05-0700”)
。啊,谢谢!我还想知道-如果我想在围棋中获得
2014-11-17 23:02:03+0000 UTC
,我该怎么做?使用
time.Format
以您想要的格式将时间以字符串形式排列,再次使用sentinel值
Mon Jan 2 15:04:05-0700 MST 2006
(助记符:1/2 3:04:05 pm'06,-0700)。所以对于这个例子:
time.Format(“2006-01-02 15:04:05-0700 MST”)
(我有点希望他们用
2001-02-03 4:05:06 pm,-0700 MST
作为他们的记忆哨兵值,但不管怎样。)等等..那么我如何得到像
2014-11-17 23:02:03+0000这样的时间呢?如果你想要一个
time.time
变量,它的值代表
2014-11-16 23:02:03+0000
,然后调用
time.Parse(“2006-01-02 15:04:05-0700”,“2014-11-16 23:02:03+0000”)
。如果您在某个
var t time.time
中已经有了它,并且您希望以该格式将其打印为字符串,那么请调用
t.format(“2006-01-02 15:04:05-0700”)