New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@pyyupsk/fdu

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pyyupsk/fdu

Ultra-fast, zero-dependency date-time library for JavaScript & TypeScript

beta
latest
npmnpm
Version
0.0.0-beta.3
Version published
Maintainers
1
Created
Source
fdu logo

@pyyupsk/fdu

⚡ Ultra-fast, zero-dependency date-time library grounded in philosophical time perception — 4× faster than Day.js.

size npm version build codecov license

⚠️ Beta Release: This library is currently in beta (v0.0.0-beta.3). The API is stable but may change before v1.0.0. Production use is acceptable, but consider pinning to a specific version.

✨ Features

  • Performance – ~4× faster than Day.js
  • 🕐 Temporally Correct – calendar-based arithmetic, floor semantics (read more)
  • 🧭 Immutability – every operation returns a new instance
  • ⚙️ Zero Dependencies – pure JavaScript + TypeScript
  • 🧩 Tree-shakeable – modular ESM design

🎯 Why fdu?

Temporal Correctness: fdu implements time based on how humans actually perceive it, grounded in research on time perception:

  • Floor Semantics – Time differences use fully elapsed units (1.9 hours1 hour)
  • Calendar Arithmetic – Months/years count calendar boundaries, not duration (Feb - Oct = 4 months)
  • Temporal Direction – Earlier < later, negative = past (time's arrow)
  • Human-Centric Years – Year 0 = Year 0 (ISO 8601)

This reflects Ancient Greek philosophy (Chronos vs Kairos), phenomenology (Husserl), and temporal psychology (Stanford). Read full philosophy →

🚀 Quick Start

npm install @pyyupsk/fdu
import { fdu, registerLocale, locale } from "@pyyupsk/fdu";
import { es } from "@pyyupsk/fdu/locale/es";

const date = fdu("2025-09-30");

date.format("YYYY-MM-DD HH:mm:ss");
date.add(1, "day").format("[Tomorrow is] dddd");

registerLocale("es", es);
locale("es");
date.locale("es").format("LLLL");

📦 Highlights

  • TypeScript-first, no runtime deps
  • Immutable, locale-aware API
  • Fine-grained comparisons & date math
  • Comprehensive test coverage (98%+)

⚡ Performance

Benchmarked with Vitest 4.0.15 and Bun 1.3.3 on 2025-12-05.

Operation@pyyupsk/fduDay.jsdate-fnsLuxonSpeedup vs Day.js
Date Parsing2.88M ops/sec2.06M ops/sec134.1K ops/sec413.1K ops/sec1.40× faster
Date Formatting955.1K ops/sec548.7K ops/sec398.0K ops/sec626.1K ops/sec1.74× faster
Date Manipulation3.87M ops/sec965.2K ops/sec3.28M ops/sec449.1K ops/sec4.01× faster
Date Comparison20.17M ops/sec1.53M ops/sec4.92M ops/sec6.98M ops/sec13.18× faster
Complex Workflow549.8K ops/sec245.9K ops/sec415.5K ops/sec143.1K ops/sec2.24× faster
Batch Operations (100 dates)9.4K ops/sec5.3K ops/sec5.7K ops/sec2.8K ops/sec1.79× faster

🧪 Summary: fdu is ~4× faster than Day.js on average, with exceptional performance in comparisons (13.18×), date manipulation (4.01×), and complex workflows (2.24×). See full benchmarks for details.

📚 Documentation

Full API and usage guides available at 👉 fdu.fasu.dev

🪪 License

By contributing to fdu, you agree that your contributions will be licensed under the MIT License.

Keywords

date

FAQs

Package last updated on 29 Dec 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts