Learn R Programming

bReeze (version 0.3-2)

formatTS: Format time stamps

Description

Converts time stamps from string to POSIXlt. The conversion specification (pattern) is looked up if not given as argument.

Usage

formatTS(time.stamp, pattern, tz)
fts(time.stamp, pattern, tz)

Arguments

time.stamp
Time stamp as string vector.
pattern
Conversion specification of time stamp as string (optional). See Details for usage.
tz
Optional character string specifying the time zone to be used for the conversion. System-specific (see as.POSIXlt), but "" is the current time zone (used as default). Use "?" to

Value

  • Returns a POSIXlt vector.

encoding

UTF-8

Details

If the time stamp is already formatted as POSIXlt, the usage of formatTS is not necessary. strptime can also be used to create an applicable time stamp. Usage of formatTS is recommeded, since it checks the created time stamp, thus faulty time stamps are avoided.

Pattern

A conversion specification is introduced by "%", usually followed by a single letter. Any character in the format string not part of a conversion specification is interpreted literally. Widely implemented conversion specifications include:

  • %d: day of the month as decimal number (01--31)
  • %m: month as decimal number (01--12)
  • %y: year without century (00--99), where values 00--68 are prefixed by 20 and 69--99 by 19
  • %Y: year with century
  • %H: hour as decimal number (00--23)
  • %M: minute as decimal number (00--59)
  • %S: second as decimal number (00--61)
For details see strptime.

See Also

POSIXlt, strptime, createMast

Examples

Run this code
# load and prepare data
data(winddata)

# format time stamp
time.stamp <- formatTS(time.stamp=winddata[,1])

# format time stamp with given pattern
time.stamp.2 <- formatTS(time.stamp=winddata[,1], "%d.%m.%Y %H:%M")

# wrong pattern (%y)
time.stamp.2 <- formatTS(time.stamp=winddata[,1], "%d.%m.%y %H:%M")

# strange time stamp pattern
ts <- c("TS 08/2012-10 8h10m30s", "TS 08/2012-10 8h20m30s", 
  "TS 08/2012-10 8h30m30s")
time.stamp.3 <- formatTS(time.stamp=ts)	# pattern not found
time.stamp.3 <- formatTS(time.stamp=ts, "TS %m/%Y-%d %Hh%Mm%Ss")

# time zone
time.stamp.4 <- formatTS(time.stamp=winddata[,1], tz="CEST")
time.stamp.5 <- formatTS(time.stamp="2012-08-08 22:55 GMT", tz="?")

Run the code above in your browser using DataLab