2015-05-15 3 views
0

У меня был код, который занимает некоторое время, а затем занимает определенное количество секунд. Все работает отлично, кроме края, где, когда вы убираете количество секунд, которые вы заканчиваете в полночь. В коде, который я использую, когда возникает эта ситуация, секундная часть времени исчезает. Затем последующий код терпит неудачу, потому что он ожидает время в определенном формате.Исчезающие секунды, когда время становится полночь

Любые идеи, как справиться с этой ситуацией, чтобы последующий код не давал неожиданных результатов.

Игнорировать часовые пояса в следующем - меня просто интересуют исчезающие секунды.

BaseTime <- "2015-03-25 00:01:00" 
adjustment <- 30 
GMT1 <- strptime(BaseTime,"%Y-%m-%d %H:%M:%S") 
GMTadj <- GMT1 - adjustment 
GMTadj 
# [1] "2015-03-25 00:00:30 EDT" 

GMT <- as.POSIXct(strptime(as.character(GMTadj),"%Y-%m-%d %H:%M:%S"),tz = "GMT") GMT 
# [1] "2015-03-25 00:00:30 GMT" 

adjustment <- 60 
GMT1 <- strptime(BaseTime,"%Y-%m-%d %H:%M:%S") 
GMTadj <- GMT1 - adjustment 
GMTadj 
# [1] "2015-03-25 EDT" 

GMT <- as.POSIXct(strptime(as.character(GMTadj),"%Y-%m-%d %H:%M:%S"),tz = "GMT") 
GMT 
# [1] NA 
+0

Почему вы используете тип даты и конвертируете в символ только для преобразования типа даты? Если вам нужно отформатировать дату как символ в определенном формате, используйте 'strftime()' или 'format()', а не 'as.character()'. – MrFlick

+0

Эта дополнительная строка кода сделала трюк GMTadj <- format (GMTadj, «% Y-% m-% d% H:% M:% S») – user2589499

+0

благодарит мистера Флика, но это на самом деле не отвечало на вопрос. Ответ должен отвечать часовым поясам. – user2589499

ответ

0

Как MrFlick сказал, что если вам не нравится формат по умолчанию при преобразовании POSIXct в символ, то вам нужно явно указать формат в as.character вызова.

R> as.character(GMTadj, "%Y-%m-%d %H:%M:%S") 
[1] "2015-03-25 00:00:00" 
+0

Спасибо. Это то, чем я был. Вы обнаружите, что вам нужен такой строгий код, когда он падает, что в моем случае было одной записью в 120 миллионов. – user2589499

Смежные вопросы