0.2.0 • Published 7 months ago

@packfleet/datetime v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

@packfleet/datetime

A comprehensive datetime library that wraps @js-temporal/polyfill, providing a rich set of utilities for date and time manipulation, formatting, and parsing.

Installation

npm install @packfleet/datetime
# or
yarn add @packfleet/datetime
# or
pnpm add @packfleet/datetime
# or
bun install @packfleet/datetime

Features

  • 🕒 Temporal API Support: Built on top of @js-temporal/polyfill for modern date/time handling
  • 🌍 Timezone Support: Full timezone handling with IANA timezone identifiers
  • 📝 Rich Formatting: Multiple formatting options for dates and times
  • 🔄 Conversion Utilities: Easy conversion between different date/time types
  • 🎯 Type Safety: Written in TypeScript with full type definitions

Usage

Formatting

import { formatFriendlyIso8601DateTimeStr, formatIso8601ToFriendlyDate } from '@packfleet/datetime';

// Format a datetime string in a friendly way
formatFriendlyIso8601DateTimeStr('2024-03-12T23:59:59.123Z', 'Europe/London');
// "Wednesday 12th March 2024 at 23:59"

// Format just the date
formatIso8601ToFriendlyDate('2024-03-12T23:59:59.123Z', 'Europe/London');
// "12 March 2024"

Parsing

import { parseInstant, parsePlainDateTime } from '@packfleet/datetime';

// Parse an ISO 8601 string to an Instant
const instant = parseInstant('2024-03-12T23:59:59.123Z');

// Parse to a PlainDateTime
const dateTime = parsePlainDateTime('2024-03-12T23:59:59.123');

Current Time

import { nowLocal, todayLocal } from '@packfleet/datetime';

// Get current time in a specific timezone
const now = nowLocal('Europe/London');

// Get today's date in a specific timezone
const today = todayLocal('Europe/London');

Conversion

import { toJSDateUTC, toPlainDate } from '@packfleet/datetime';

// Convert Temporal types to JavaScript Date
const jsDate = toJSDateUTC(instant);

// Convert JavaScript Date to Temporal PlainDate
const plainDate = toPlainDate(new Date(), 'Europe/London');

Production Readiness

This library has been in use by Packfleet in production for multiple years. However, please note that the Temporal API spec may still change, as it's a relatively new addition to JavaScript.

License

MIT

0.1.29

11 months ago

0.2.0

7 months ago

0.1.28

1 year ago

0.1.27

1 year ago

0.1.26

1 year ago

0.1.25

1 year ago

0.1.22

1 year ago

0.1.23

1 year ago

0.1.24

1 year ago

0.1.21

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.1.9

2 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago