注:此函數IRIS
可用,Cache
不可用。
將日期表達式轉換為 UNIX
時間戳的日期/時間函數。
UNIX_TIMESTAMP([date-expression])
date-expression
- 可選 — 作為列名稱、另一個標量函數的結果或日期或時間戳文字的表達式。 UNIX_TIMESTAMP
不會從一個時區轉換到另一個時區。如果省略 date-expression
,則默認為當前 UTC
時間戳。UNIX_TIMESTAMP
返回一個 UNIX?
時間戳,即自 '1970-01-01 00:00:00'
以來的秒數(和小數秒)。
如果不指定 date-expression
,則 date-expression
默認為當前 UTC
時間戳。因此,假設系統范圍的默認精度為 3
,UNIX_TIMESTAMP()
等效于 UNIX_TIMESTAMP(GETUTCDATE(3))
。
如果指定 date-expression
,UNIX_TIMESTAMP
會將指定的 date-expression
值轉換為 UNIX
時間戳,計算該時間戳的秒數。 UNIX_TIMESTAMP
可以返回正數或負數秒數。
UNIX_TIMESTAMP
將其值作為數據類型 %Library.Numeric
返回。它可以返回小數秒的精度。如果不指定 date-expression
,它將采用當前配置的系統范圍精度。如果指定 date-expression
,它將從 date-expression
獲取其精度。
可選的日期表達式可以指定為:
YYYY-MM-DD HH:MI:SS.FFF
PosixTime
時間戳值(數據類型 %Library.PosixTime
):編碼的 64 位有符號整數。$HOROLOG
日期值(數據類型 %Library.Date
):自 1840 年 12 月 31 日
以來的天數,其中第 1
天是 1841 年 1 月 1 日
。$HOROLOG
時間戳,帶或不帶小數秒:64412,54736
。UNIX_TIMESTAMP
不進行時區轉換:如果 date-expression
為 UTC 時間,則返回 UTC UnixTime
;如果 date-expression
是本地時間,則返回本地 UnixTime
值。
小數秒總是被截斷而不是四舍五入到指定的精度。
%Library.TimeStamp
數據類型格式的日期表達式的最大精度為 9
。支持的實際位數由日期表達式精度參數、配置的默認時間精度和系統功能確定。如果指定的精度大于配置的默認時間精度,則精度的附加數字將作為尾隨零返回。%Library.PosixTime
數據類型格式的日期表達式的最大精度為六。每個 POSIXTIME
值都是使用六位精度計算的;除非提供,否則這些小數位默認為零。配置精度
可以使用以下配置默認精度:
TIME_PRECISION
選項的 SET OPTION
。$SYSTEM.SQL.Util.SetOption()
方法配置選項 DefaultTimePrecision
。要確定當前設置,請調用顯示默認時間精度的 $SYSTEM.SQL.CurrentSettings()
;默認值為 0
。GETDATE()
、CURRENT_TIME
和 CURRENT_TIMESTAMP
的默認時間精度的當前設置。指定一個 0
到 9
(含)整數作為要返回的默認精度的小數位數。默認值為 0
。返回的實際精度取決于平臺;超過系統上可用精度的精度數字將返回為零。
UNIX_TIMESTAMP
返回日期和時間,表示為從任意日期經過的秒數。
TO_POSIXTIME
返回一個編碼的 64
位有符號(一個 %PosixTime
時間戳),它是根據 UNIX
時間戳計算的。
GETUTCDATE
以 %TimeStamp
(ODBC 時間戳)數據類型或 %PosixTime
(編碼的 64 位帶符號整數)數據類型值的形式返回通用(獨立于時區)日期和時間。 %PosixTime
值是根據相應的 UNIX
時間戳值計算得出的。 %PosixTime
編碼有助于快速的時間戳比較和計算。 %Library.PosixTime
類提供 UnixTimeToLogical()
方法將 UNIX
時間戳轉換為 PosixTime
時間戳,并提供 LogicalToUnixTime()
方法將 PosixTime
時間戳轉換為 UNIX
時間戳。這些方法都不執行時區轉換。
還可以使用 ObjectScript $ZTIMESTAMP
特殊變量返回通用(時區無關)時間戳。
ObjectScript $ZDATETIME
函數 dformat -2
采用 $HOROLOG
日期并返回 UNIX
時間戳; $ZDATETIMEH dformat -2
采用 UNIX 時間戳并返回 %HOROLOG
日期。這些 ObjectScript 函數將本地時間轉換為 UTC
時間。 UNIX_TIMESTAMP
不會將本地時間轉換為 UTC
時間。
以下示例返回 UTC UNIX
時間戳。第一個選擇項采用日期表達式默認值,第二個指定顯式 UTC
時間戳:
select UNIX_TIMESTAMP() AS DefaultUTC, UNIX_TIMESTAMP(GETUTCDATE(3)) AS ExplicitUTC 1652164931 1652164931
以下示例返回當前本地日期和時間的本地 UNIX
時間戳,以及 UTC
日期和時間值的 UTC
UNIX
時間戳。第一個選擇項指定本地 CURRENT_TIMESTAMP
,第二個指定 $HOROLOG
(本地日期和時間),第三個指定當前 UTC
日期和時間:
select UNIX_TIMESTAMP(CURRENT_TIMESTAMP(2)) AS CurrTSLocal, UNIX_TIMESTAMP($HOROLOG) AS HorologLocal, UNIX_TIMESTAMP(GETUTCDATE(3)) AS ExplicitUTC 1652193775 1652193775 1652164975
以下示例比較了 UNIX_TIMESTAMP
(不轉換本地時間)和 $ZDATETIME
(轉換本地時間):
/// d ##class(PHA.TEST.SQLFunction).UCase()ClassMethod UCase(){ s unixutc = $ZDATETIME($HOROLOG,-2) s myquery = "select UNIX_TIMESTAMP($HOROLOG) AS UnixLocal,? AS UnixUTC" s tStatement = ##class(%SQL.Statement).%New() s qStatus = tStatement.%Prepare(myquery) s rset = tStatement.%Execute(unixutc) d rset.%Display()}
DHC-APP>d ##class(PHA.TEST.SQLFunction).UCase()UnixLocal UnixUTC1652193839 16521650391 Rows(s) Affected
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
根據描述上下左右鍵跳舞的游戲? ;游戲的上下左右鍵是超級舞者在線,這是世界 歷時三年獨立開發的首款在線跳舞機游戲。游戲模仿KONAMI s Dance DacneRevolution,和它不同的是它有鍵盤和舞毯兩大模式,還有很多小模式。2005年,發布單機版《超級舞者》,2006年,正式將單機版制作成網絡版。這款游戲的主題是全3D虛擬角色的舞蹈模擬。超級舞者的跳舞毯怎么玩DDR單機游戲?先連接...
QQ炫舞里如何在離婚之后消除伴侶記錄?離婚后可以改名消除合作伙伴記錄是的,下一個將顯示為第一個合作伙伴。但是,如果再婚后改名,前伴侶 的名稱將被刪除,但當前的合作伙伴仍將顯示為第二個。直播伴侶分辨率能手動修改嗎?live companion的分辨率可以手動修改。1.首先雙擊電腦桌面上的抖音短視頻,啟動程序,進入主界面。2.單擊 "更多 "選項,并從下拉菜單中選擇分辨率設置。3.在彈出的分辨率設置對...
寫0的筆畫順序應該是逆時針還是順時針?“0”的沖程順序為逆時針。寫0的正確方法是:從頂部逆時針寫,然后與頂部重合。順時針:指與時鐘相同的旋轉方向。時鐘之所以“順時針”旋轉,是源于它的前身日晷。逆時針方向:逆時針方向運行是指沿著順時針方向相反的方向運行,可以認為是從左上角往下走,然后右轉,然后回到左上角。也就是說逆時針方向與順時針方向相反,也是鏡面變換的結果,所以逆時針方向就是順時針方向。當大多數行...