Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Timestamp

Timestamp for 64-bit time_t, nanosecond precision and strftime

author

Yusuke Kawasaki

license

MIT

see

https://github.com/kawanet/timestamp-nano

Hierarchy

  • Timestamp

Index

Constructors

constructor

  • new Timestamp(time: number, nano?: number, year?: number): Timestamp
  • Parameters

    • time: number

      Milliseconds from epoch

    • Optional nano: number

      Offset number for nanosecond precision

    • Optional year: number

      Offset number for year which must be a multiple of 400 to avoid leap year calculation

    Returns Timestamp

Methods

addNano

  • Adds offset in nanosecond precision.

    Parameters

    • nano: number

      offset number for nanosecond precision in addition.

    Returns Timestamp

getNano

  • getNano(): number
  • Returns a number, between 0 and 999999999, representing the nanoseconds.

    Returns number

getTimeT

  • getTimeT(): number
  • Returns a number representing the seconds since epoch aka time_t.

    JavaScript has the Double precision per default. Instead, Call Timestamp#writeInt64BE to retrieve 64bit long long precision time_t.

    Returns number

getYear

  • getYear(): number
  • Returns a number representing the year like Date#getUTCFullYear.

    Returns number

toDate

  • toDate(): Date
  • Returns a Date instance.

    Do not call Date#getUTCFullYear nor Date#getFullYear with the Date instance. Any properties other than those two are correct. Instead, Call Timestamp#getYear to retrieve the year as Timestamp has year offset.

    Returns Date

toJSON

  • toJSON(): string
  • Returns a JSON string representation like: "2017-11-26T11:27:58.737Z"

    Returns string

toString

  • toString(format?: string): string
  • Returns a string formatted like strftime does.

    Parameters

    • Optional format: string

      "%Y-%m-%dT%H:%M:%S.%NZ", "%a, %b %d %X %Y %z (%Z)", etc.

    Returns string

writeInt64BE

  • writeInt64BE(buffer?: Array<number> | Uint8Array, offset?: number): Array<number> | Uint8Array
  • Writes big endian 64bit time_t of 8 bytes sequence.

    Parameters

    • Optional buffer: Array<number> | Uint8Array

      Buffer, Array, Uint8Array, etc.

    • Optional offset: number

    Returns Array<number> | Uint8Array

writeInt64LE

  • writeInt64LE(buffer?: Array<number> | Uint8Array, offset?: number): Array<number> | Uint8Array
  • Writes little endian 64bit time_t of 8 bytes sequence.

    Parameters

    • Optional buffer: Array<number> | Uint8Array

      Buffer, Array, Uint8Array, etc.

    • Optional offset: number

    Returns Array<number> | Uint8Array

Static fromDate

  • fromDate(date: Date | number): any
  • Creates a Timestamp instance from Date instance or milliseconds since epoch.

    Parameters

    • date: Date | number

      Milliseconds since epoch

    Returns any

Static fromInt64BE

  • fromInt64BE(time: Array<number> | Uint8Array, offset?: number): any
  • Creates a Timestamp instance from big endian 64bit time_t of 8 bytes sequence.

    Parameters

    • time: Array<number> | Uint8Array
    • Optional offset: number

    Returns any

Static fromInt64LE

  • fromInt64LE(time: Array<number> | Uint8Array, offset?: number): any
  • Creates a Timestamp instance from little endian 64bit time_t of 8 bytes sequence.

    Parameters

    • time: Array<number> | Uint8Array
    • Optional offset: number

    Returns any

Static fromString

  • fromString(string: string): any
  • Creates a Timestamp instance from string like: "2017-11-26T11:27:58.737Z"

    see

    https://www.w3.org/TR/NOTE-datetime

    Parameters

    • string: string

      W3C Date and Time Formats

    Returns any

Static fromTimeT

  • fromTimeT(time: number): any
  • Creates a Timestamp instance from seconds since epoch aka time_t.

    Parameters

    • time: number

      Seconds since epoch

    Returns any

Generated using TypeDoc