or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

index.mdiso-utilities.mdlocale-support.mdtime-formatting.md
tile.json

index.mddocs/

d3-time-format

d3-time-format provides JavaScript time formatting and parsing functionality inspired by the venerable strftime and strptime functions from the C standard library. It enables developers to format dates into locale-specific string representations and parse date strings back into JavaScript Date objects using flexible format specifiers.

Package Information

  • Package Name: d3-time-format
  • Package Type: npm
  • Language: JavaScript (ES modules)
  • Installation: npm install d3-time-format
  • Homepage: https://d3js.org/d3-time-format/

Core Imports

import { timeFormat, timeParse, utcFormat, utcParse } from "d3-time-format";

For CommonJS:

const { timeFormat, timeParse, utcFormat, utcParse } = require("d3-time-format");

All exports:

import { 
  timeFormat, 
  timeParse, 
  utcFormat, 
  utcParse, 
  timeFormatLocale, 
  timeFormatDefaultLocale,
  isoFormat, 
  isoParse, 
  isoSpecifier 
} from "d3-time-format";

Basic Usage

import { timeFormat, timeParse } from "d3-time-format";

// Create a formatter
const formatTime = timeFormat("%B %d, %Y");
formatTime(new Date(2015, 5, 30)); // "June 30, 2015"

// Create a parser
const parseTime = timeParse("%B %d, %Y");
parseTime("June 30, 2015"); // Date object for June 30, 2015

// UTC formatting
import { utcFormat, utcParse } from "d3-time-format";
const formatUTC = utcFormat("%Y-%m-%d");
formatUTC(new Date()); // "2015-06-30"

Architecture

d3-time-format is built around several key components:

  • Default Locale Functions: Pre-configured formatters and parsers using the default (US English) locale
  • Locale System: Configurable locale support for internationalization with custom date/time formatting rules
  • Format Specifiers: Extensive set of % directives for controlling date/time output format
  • ISO Utilities: Specialized functions for standard ISO 8601 date formatting and parsing
  • Padding Modifiers: Control over zero-padding, space-padding, and no-padding for numeric fields

Capabilities

Time Formatting and Parsing

Core date/time formatting and parsing using the default locale with support for custom format specifiers.

function timeFormat(specifier: string): (date: Date) => string;
function timeParse(specifier: string): (dateString: string) => Date | null;
function utcFormat(specifier: string): (date: Date) => string;
function utcParse(specifier: string): (dateString: string) => Date | null;

Time Formatting and Parsing

Locale Support

Internationalization support with configurable locale definitions for custom date/time formatting rules.

function timeFormatLocale(definition: LocaleDefinition): LocaleObject;
function timeFormatDefaultLocale(definition: LocaleDefinition): LocaleObject;

interface LocaleDefinition {
  dateTime: string;
  date: string;
  time: string;
  periods: [string, string];
  days: string[];
  shortDays: string[];
  months: string[];
  shortMonths: string[];
}

interface LocaleObject {
  format(specifier: string): (date: Date) => string;
  parse(specifier: string): (dateString: string) => Date | null;
  utcFormat(specifier: string): (date: Date) => string;
  utcParse(specifier: string): (dateString: string) => Date | null;
}

Locale Support

ISO Date Utilities

Specialized utilities for ISO 8601 date format handling with optimized performance.

const isoSpecifier: string;
function isoFormat(date: Date): string;
function isoParse(dateString: string): Date | null;

ISO Date Utilities