Skip to content

Formatting

ts-datetime provides powerful and flexible formatting options to display dates and times in various formats.

Basic Formatting

The primary method for formatting is the .format() method:

ts
import { Datetime } from 'ts-datetime'

const date = new Datetime('2024-01-15T13:45:30Z')

// Basic formats
console.log(date.format('YYYY-MM-DD')) // "2024-01-15"
console.log(date.format('HH:mm:ss')) // "13:45:30"
console.log(date.format('MMM DD, YYYY')) // "Jan 15, 2024"

Format Tokens

The following tokens are supported in format strings:

TokenDescriptionExample
YYYY4-digit year"2024"
MM2-digit month (01-12)"01"
DD2-digit day (01-31)"15"
HH2-digit hour (00-23)"13"
mm2-digit minute (00-59)"45"
ss2-digit second (00-59)"30"
SSS3-digit millisecond (000-999)"000"

Default Format

When using .toString() or calling .format() without arguments, ts-datetime uses a default format defined in your configuration:

ts
const date = new Datetime('2024-01-15T13:45:30Z')

// Uses defaultFormat from config
console.log(date.toString()) // "2024-01-15T13:45:30Z"

You can customize the default format globally in your configuration or per instance:

ts
// Global config (datetime.config.ts)
export default {
  defaultFormat: 'YYYY-MM-DD HH:mm'
}

// Per-instance config
const date = new Datetime('2024-01-15T13:45:30Z', {
  defaultFormat: 'DD/MM/YYYY'
})
console.log(date.toString()) // "15/01/2024"

ISO and Standard Formats

For standard formats, ts-datetime provides dedicated methods:

ts
const date = new Datetime('2024-01-15T13:45:30Z')

// ISO 8601 string
console.log(date.toISOString()) // "2024-01-15T13:45:30.000Z"

Released under the MIT License.