Hi folks, i have to deal with data sets, which have a column with UTC seconds and a second column containing the timezone. However this timezone is not always valid in R, e.g. misspelled. Unfortunately, the date/time functions like ISOdatetime or as.POSIXlt silently accept invalid timezone arguments, and consequently e.g. truncating to days gives wrong results. After experimenting with invalid timezone names and as.POSIXlt, i found that i could use this simple function to check if a string is a valid time zone name: checktz <- function(s) ## Returns TRUE if s is a valid time zone name, otherwise FALSE { t <- as.POSIXlt(ISOdatetime(1970, 1, 1, 0, 0, 12345, tz = s)) tzone <- attributes(t)$tzone valid <- s != "" && (length(tzone) == 1 || tzone[2]!= "UTC") return(valid) } However this relies on undocumented behavior of a.POSIXlt. Is there a clean way to to check if a string represents a valid timezone name in R? Christian