2016-07-08 91 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"