Provides a time input widget for Shiny. This widget allows intuitive time input in the '[hh]:[mm]:[ss]' or '[hh]:[mm]' (24H) format by using a separate numeric input for each time component. The interface with R uses date-time objects. See the project page for more information and examples.
This package provides a timeInput
widget for Shiny. This widget allows intuitive time input in the [hh]:[mm]:[ss]
or [hh]:[mm]
(24H) format by using a separate numeric input for each time component. Setting and getting of the time in R is done with 'DateTimeClasses' objects.
As the shinyTime
package mimics the existing shiny functionality, using the package is easy. Some examples of adding an input widget to the UI:
ui <- fluidPage(
timeInput("time1", "Time:"),
# Set to current time
timeInput("time2", "Time:", value = Sys.time()),
# Set to custom time
timeInput("time3", "Time:", value = strptime("12:34:56", "%T")),
# Use %H:%M format
timeInput("time4", "Time:", seconds = FALSE)
)
Note that setting an inital value is done with a DateTime
object, in the same way as setting a date in dateInput
can be done with a Date
object.
The value retrieved will also be a DateTime
object. You need to convert it to character to be able to print the time, as the default character representation does not include it. An example:
server <- function(input, output) {
# Print the time in [hh]:[mm]:[ss] everytime it changes
observe(print(strftime(input$time1, "%T")))
# Print the time in [hh]:[mm] everytime it changes
observe(print(strftime(input$time4, "%R")))
}
For a fully functional app go to the ShinyApps example (can be a bit slow) or try the shinyTime::shinyTimeExample()
function after installing the package with install.packages('shinyTime')
.
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
Also Keep a CHANGELOG.