为什么我无法修改 Twitter gem 中冻结的时间?

Hom*_*ith 3 ruby time rubygems twitter-gem

我有一个来自twitter gem的 Tweet 对象,名为@tweet.

\n\n

我能够做到:

\n\n
@tweet.created_at --> `@tweet.created_at.class` outputs `Time`\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,我想更改 的时区created_at,所以我尝试了:

\n\n
@tweet.created_at.utc\n
Run Code Online (Sandbox Code Playgroud)\n\n

并得到:

\n\n
can\'t modify frozen Time\n
Run Code Online (Sandbox Code Playgroud)\n\n

我如何从当前的 UTC\xe2\x88\x9208:00 更改created_at为 CET 时间?

\n

Мал*_*евъ 5

由于created_at推文的时间字段已被冻结,因此您无法修改它,因此utc将提高Exception,因为它尝试更改 的值self。您无需修改​​ shell 即可复制变量并重新分配它:

@tweet.created_at = @tweet.created_at.dup.utc
Run Code Online (Sandbox Code Playgroud)