2015-11-26 3 views
0

as.Date (date1) неверно возвращает предыдущий день.r as.Date возвращает предыдущий день

Я подозреваю, что он имеет отношение к часовым поясам, но я все еще изучаю самые основы R, поэтому у меня мало шансов решить его самостоятельно.

код я использую, чтобы произвести это:

> a <- (capital_paid_summary_per_loan$Arrears_Date[1]) 
> a 
[1] "2015-08-31 SAST" 
> as.Date(a) 
[1] "2015-08-30" 
> 

Как вы можете видеть, дата начинается как «2015-08-31», но as.Date() изменяет его на один день до ,

Любые советы приветствуются

+3

Попробуйте 'as.Date (« 2015-08-31 SAST », tz = 'SAST')': вы должны указать часовой пояс в своем случае. – etienne

+0

Другим подходом является 'as.Date (format (a))'. –

ответ

0

Если

date <- "2015-08-31 SAST" 

Вы могли бы использовать:

as.Date("2015-08-31 SAST",tz='SAST') 

который определяет часовой пояс, как ССНТ, или вы можете использовать:

as.Date(gsub(' SAST','',date)) 

Который будет r вывести часовой пояс из части строки и затем преобразовать на дату.