CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-d3-time-format

A JavaScript time formatter and parser inspired by strftime and strptime.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

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

Install with Tessl CLI

npx tessl i tessl/npm-d3-time-format
Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/d3-time-format@4.1.x
Publish Source
CLI
Badge
tessl/npm-d3-time-format badge