The Senseforce timestamp is formatted as UNIX timestamp with millisecond precision. For our R scripting engine, this looks like an ordinary numeric. 

To create a date object, use the following snippet:

as.POSIXct(timestamp/1000, origin = "1970-01-01", tz="Europe/Vienna")
  • Assuming, "timestamp" is a Senseforce/UNIX timestamp in millisecond, divide it by 1000, to create a second-resolution timestamp
  • Use as.POSIXct to create the date object. The origin-parameter is required, to indicate that the timestamp starts at 1970-01-01 (which is the case for Senseforce/UNIX timestamps), The tz-parameter optionally provides information about the timezone in which the date-object is displayed. Note, that Senseforce-timestamps are always UTC. 


To use a R date object outside a script, define a script result variable with datatype either "timestamp" or "string". Using "string" has the advantage of formatting the date-time object as you like. 

Use the following code snippets to correctly format the date-objects to meet the correct output format requirements:

  • String: 
outputStringTimestamp = as.character(internalDateObject)

Result example: '2019-03-27 12:13'


  • Timestamp:
outputTimestamp = as.numeric(internalDateObject)*1000

Result example: 1552518000000