Ruby時區轉換

2021-08-30 18:23:44 字數 785 閱讀 6151

要將mysql資料庫中的資料,由日本伺服器轉移到美國伺服器。日本伺服器的時區是jst,美國伺服器的時區是pdt。使用了mysql的dump/restore,完成匯入後發現,資料庫中的timestamps欄位沒有被正確的轉換,比如原來是日本時間的 2010/7/1 20:14:11 變成了美國太平洋夏令時的 2010/7/1 20:14:11,需要做時間的轉換。(試過mysqldump中的時區轉換選項,可能是我設定的問題,沒有成功)

使用ruby做了是指令碼,在美國伺服器上,將時間修全部進行了轉換。下邊的**省略了讀取資料庫的部分。

class time

def convert_zone(from_zone, to_zone)

original_zone = env["tz"]

env["tz"] = from_zon

from_zone_time = time.local(year, month, day, hour, min, sec)

utc_time = from_zone_time.gmtime

env["tz"] = to_zone

to_zone_time = utc_time.localtime

env["tz"] = original_zone

return to_zone_time

endend

t = time.now

puts t

puts t.convert_zone("asia/tokyo", "us/pacific")

[b]參考[/b]

時區轉換函式

typedef struct int year int month int day date typedef stuct int hour int minute int second time typedef struct date date time time datetime 在時區的定義上,有...

Python時區轉換

原文 最近工作中遇到了乙個問題 我的server和client不是在乙個時區,server時區是edt,即美國東部時區,client,就是我自己的電腦,時區是中國標準時區,東八區。處於測試需要,我需要向server傳送乙個時間,使得server在這個時間戳去執行一些動作。這個時間戳通常是當前時間加2...

js時區轉換

頁面伺服器時間是東八區時間,頁面 js 功能需要對比伺服器時間和使用者本地時間,為相容世界各地時間,需要將使用者本地時間轉換為東八區時間。格林威治子午線上的地方時,或零時區 中時區 的區時叫做格林威治時間,也叫世界時。更多詳細的概念不說了,這裡我們不需要。比如我們中國是東八區,北京時間是 gmt 0...