Skip to content
A timeInput widget for Shiny
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
inst
man
.Rbuildignore
.gitignore
.travis.yml
CONTRIBUTING.md
DESCRIPTION
LICENSE
NAMESPACE
NEWS.md
README.Rmd
README.md
cran-comments.md
shinyTime.Rproj

README.md

shinyTime

Build Status

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.

Usage

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(
  # Using the default time 00:00:00
  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').

You can’t perform that action at this time.