Learn R Programming

oce (version 0.9-18)

numberAsPOSIXct: Convert a numeric time to a POSIXct time

Description

Convert a numeric time to a POSIXct time

Usage

numberAsPOSIXct(t, type=c("unix", "matlab", "gps", "argo",
                          "ncep1", "ncep2", "sas", "spss", "yearday"), tz="UTC")

Arguments

t
an integer corresponding to a time, in a way that depends on type.
type
the type of time (see Details).
tz
a string indicating the time zone, used only for unix and matlab times, since GPS times are always referenced to the UTC timezone.

Value

Details

There are many varieties, according to the value of type as defined below.

  • "unix"employs Unix times, measured in seconds since the start of the year 1970.
  • "matlab"employs Matlab times, measured in days since what MathWorks [1] calls ``January 0, 0000'' (i.e.ISOdatetime(0, 1, 1, 0, 0, 0)in R notation).
  • "gps"employs the GPS convention. For this,tis a two-column matrix, with the first column being the the GPS "week" (referenced to 1999-08-22) and the second being the GPS "second" (i.e. the second within the week).
  • "argo"employs Argo times, measured in days since the start of the year 1900.
  • "ncep1"employs NCEP times, measured in hours since the start of the year 1800.
  • "ncep2"employs NCEP times, measured in days since the start of the year 1. (Note that, for reasons that are unknown at this time, a simple R expression of this definition is out by two days compared with the UDUNITS library, which is used by NCEP. Therefore, a two-day offset is applied. See [2,3].)
  • "sas"employs SAS times, indicated bytype="sas", have origin at the start of 1960.
  • "spss"employs SPSS times, in seconds after 1582-10-14.
  • "yearday"employs a convention in whichtis a two-column matrix, with the first column being the year, and the second the yearday (starting at 1 for the first second of January 1, to match the convention used by Sea-Bird CTD software).

References

[1] Matlab times: http://www.mathworks.com/help/matlab/ref/datenum.html

[2] NCEP times: http://www.esrl.noaa.gov/psd/data/gridded/faq.html#3

[3] problem with NCEP times: https://github.com/dankelley/oce/issues/738

See Also

numberAsHMS

Examples

Run this code
numberAsPOSIXct(0)                     # unix time 0
numberAsPOSIXct(1, type="matlab")      # matlab time 1
numberAsPOSIXct(cbind(566,345615), type="gps") # Canada Day
numberAsPOSIXct(cbind(2013, 0), type="yearday") # start of 2013

Run the code above in your browser using DataLab