因此,我存儲了一個時區感知時間,比如12箇中午在莫斯科說作爲2014-01-22 12:00:00+04
。我想返回,但如果我只是撥打select my_timestamp from my_table
,它將返回2014-01-22 08:00:00+00
。我有一個timezone
列可用與時區的olson名稱(在這種情況下europe/moscow
),有沒有什麼辦法可以構造一個選擇,返回我確切的對象,我輸入其時區保留,而不是它轉換爲我的服務器的本地時間(格林威治標準時間)?我看了一下提到at time zone
函數的postgres文檔,但沒有成功讓它在返回時保留時區信息。使用本地utc偏移量選擇一個tz意識到的時間戳
0
A
回答
1
不,沒有辦法做到這一點。 PostgreSQL不存儲插入或更新值的客戶端的偏移量。
如果將偏移量存儲在單獨的列中,則可以將其與時間戳值連接起來,但對於涉及夏令時的特定條件,您可能會返回錯誤的值。
使用AT TIME ZONE
語法以及正確的時區應該爲您提供正確的時間戳值,但不包括最初插入或更新時間戳記的客戶端的偏移量。
+0
作爲一個說明,是開發人員的建議沒有專門提到沒有日期組件的'時間'?我正在使用帶時區的時間戳。 – bbm
+0
@bbm:是的,謝謝你指出。我不知道我在想什麼。 –
0
看是否有此反正幫助:
SELECT now(), now()::timestamp, now() AT TIME ZONE 'europe/moscow', now()::timestamp AT TIME ZONE 'europe/moscow'
您可以同時區之間的轉換。不給你的時區+ 04,但給你在那個時區的時間。
相關問題
- 1. 的Python:將UTC時間,本地時間給UTC偏移
- 2. 將GMT時間戳與GMT偏移量轉換爲本地PHP時間戳
- 3. UTC日期時間偏移量
- 4. 從UTC UTC時間戳到UTC的UTC
- 5. 使用偏移量查找UTC時區
- 6. 如何正確存儲UTC日期時間並使用本地偏移量?
- 7. 如何使用UTC偏移量在Perl中獲得本地時間?
- 8. PHP - 帶時區偏移的本地與UTC時間比較
- 9. python:來自pytz本地時間戳的UTC時間戳
- 10. UTC或本地時間與我的架構的區域偏移?
- 11. sqldf:將本地時間到GMT/UTC的時間戳更改爲
- 12. 從偏移量中選擇一部分數據從偏移量到偏移量
- 13. UTC時間戳到正常時間戳?
- 14. 得到使用的strftime()UTC時間戳
- 15. 將本地時間戳UTC時間戳在Java中
- 16. 將UTC時間戳轉換爲本地設備時間戳
- 17. 爲什麼本地時間戳等於UTC時間戳?
- 18. MySQL:如何爲所有時區選擇UTC偏移量和DST?
- 19. 如何根據UTC偏移量選擇時區?
- 20. 將UTC時間偏移量與字符串的UTC偏移量存儲到卡桑德拉
- 21. DateTimeOffset錯誤:本地dateTime的UTC偏移量與偏移量參數不匹配
- 22. sqldf:從GMT/UTC更改時間戳到本地時間
- 23. 添加時間偏移量從GMT到Unix時間戳PHP
- 24. ZonedDateTime到UTC並應用偏移量?
- 25. JavaScript的UTC時間戳到本地時區
- 26. 獲得UTC的日期時間偏移
- 27. 通過添加UTC偏移量將Twitter DateTime轉換爲本地時間
- 28. 時間戳和組合時間偏移
- 29. 轉換UTC時代到本地時間戳,對SQL查詢
- 30. 如何在PHP中爲給定的HH:MM時間給定UTC偏移量找到UNIX時間戳?
Erwin Brandstetter回答了一段很棒的回答,您可能會發現它很有用:http://stackoverflow.com/a/9576170 – bma
感謝bma,這是一個非常全面的細分。令人遺憾的是,我想我必須將時間存儲爲天真,畢竟與我的時區結合在我的應用代碼中。 – bbm