2016-07-08 89 views
1

我有日期分配到GMTOFF計算r中

%let a=06jul2016 

我想基於兩個計算在SAS

b=dhms("&a"d,00,00,00)-gmtoff(),IS8601DT23.3)) 
c=dhms("&a"d,24,00,00)-gmtoff(),IS8601DT23.3)) 

注&創建兩個變量將採取價值06jul2016

輸出

b is 2016-07-06T04:00:00.00 
c is 2016-07-07T04:00:00.00 

我想用b和c創建一個新的變量D,並且字符串很少。

D=tz=2016-07-06T04:00:00.00&tz2016-07-07T04:00:00.00 

如何,使用R

+1

'gmtoff()'存儲原始UTC從目前的MAC偏移希望SAS代碼能夠運行,如果有人想知道的話。 – thelatemail

回答

0

這應該不是太難,因爲R將自動轉換的任何日期爲當前時區,如果你不明確提到一個時區,以獲得上述結果:

a <- "06jul2016" 
#Assuming you are in GMT+4, otherwise use the explicit 
#conversion commented out below 
b <- as.POSIXct(a,format="%d%b%Y") 
#b <- as.POSIXct(a,format="%d%b%Y",tz="Etc/GMT+4") 
attr(b, "tzone") <- "UTC" 
format(b, "%Y%-%m-%dT%H:%M:%OS2") 
#"2016-07-06T04:00:00.00" 

爲了獲得額外的一天,嘗試:

format(b + as.difftime(1, units="days"), "%Y%-%m-%dT%H:%M:%OS2") 
#[1] "2016-07-07T04:00:00.00"