Прежде всего: поскольку вы используете смешанные форматы даты, второе событие отображается неправильно. В моем примере ниже я исправил это.
Поскольку сама временная шкала содержит даты в правильном часовом поясе, это просто проблема объекта, возвращаемого input$gantt_data
. Вы можете вручную исправить это, сначала преобразовав его в объект POSIXct
, а затем отобразив его в желаемом часовом поясе:
library(timevis)
ui<-fluidPage(
mainPanel(
timevisOutput("gantt"),
tableOutput("return"),
actionButton("btn","btn")
)
)
server <- function(input, output, session) {
data <- data.frame(
id = 1:4,
content = c("Item one" , "Item two" ,"Ranged item", "Item four"),
start = c("2016-01-10 00:00:00", "2016-01-11 00:00:00.00", "2016-01-20", "2016-02-14 15:00:00"),
end = c(NA , NA, "2016-02-04", NA),
group =c(1,1,2,2)
)
output$gantt<-renderTimevis({
timevis(data= data,
groups = data.frame(id = 1:4, content = c(" 1", " 2", " 3", " 4")),
options = list(editable = list(add=FALSE, remove=TRUE, updateTime= TRUE, updateGroup=TRUE, overrideItems=TRUE), align = "left"))
})
observeEvent(input$btn,{
output$return<-renderTable({
dat <- input$gantt_data
dat$start <- format(as.POSIXct(input$gantt_data$start, format = "%Y-%m-%dT%H:%M:%S", tz = "UTC"), tz="Europe/Berlin")
dat$end <- format(as.POSIXct(input$gantt_data$end, format = "%Y-%m-%dT%H:%M:%S", tz = "UTC"), tz="Europe/Berlin")
print(dat)
})
})
}
shinyApp(ui, server)