{"id":50124285,"url":"https://github.com/nazmul-nhb/chronos-date","last_synced_at":"2026-05-23T19:01:18.305Z","repository":{"id":356966383,"uuid":"1234759554","full_name":"nazmul-nhb/chronos-date","owner":"nazmul-nhb","description":"A lightweight, immutable, and plugin-based date-time manipulation library for JavaScript and TypeScript.","archived":false,"fork":false,"pushed_at":"2026-05-17T19:09:38.000Z","size":1564,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T20:52:47.813Z","etag":null,"topics":["bangla-date","bangla-date-time","calendar","chronos","date","date-time","immutable","timezone"],"latest_commit_sha":null,"homepage":"https://chronos.nazmul-nhb.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nazmul-nhb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T15:54:10.000Z","updated_at":"2026-05-17T19:15:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nazmul-nhb/chronos-date","commit_stats":null,"previous_names":["nazmul-nhb/chronos-date"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/nazmul-nhb/chronos-date","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmul-nhb%2Fchronos-date","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmul-nhb%2Fchronos-date/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmul-nhb%2Fchronos-date/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmul-nhb%2Fchronos-date/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nazmul-nhb","download_url":"https://codeload.github.com/nazmul-nhb/chronos-date/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmul-nhb%2Fchronos-date/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33408490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bangla-date","bangla-date-time","calendar","chronos","date","date-time","immutable","timezone"],"created_at":"2026-05-23T19:00:43.983Z","updated_at":"2026-05-23T19:01:18.289Z","avatar_url":"https://github.com/nazmul-nhb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Chronos Date](https://chronos.nazmul-nhb.dev/)\n\n\u003e A lightweight, immutable, and plugin-based date-time manipulation library for JavaScript and TypeScript.\n\n[![Chronos Date](https://raw.githubusercontent.com/nazmul-nhb/chronos-date/refs/heads/main/chronos.png)](https://chronos.nazmul-nhb.dev/)\n\n\u003cp\u003e\n  \u003c!-- Package Info --\u003e\n  \u003ca href=\"https://www.npmjs.com/package/chronos-date\" aria-label=\"NPM Downloads\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/chronos-date.svg?label=DOWNLOADS\u0026style=flat\u0026color=red\u0026logo=npm\" alt=\"Downloads\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/chronos-date\" aria-label=\"Latest Version\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/chronos-date.svg?label=NPM\u0026style=flat\u0026color=teal\u0026logo=npm\" alt=\"Latest Version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://bundlejs.com/?q=chronos-date\" aria-label=\"Bundle Size\"\u003e\n    \u003cimg src=\"https://img.shields.io/bundlejs/size/chronos-date?label=Bundle%20Size\u0026style=flat\u0026color=blue\u0026logo=npm\" alt=\"Bundle Size\" /\u003e\n  \u003c/a\u003e\n\n  \u003c!-- Project Metadata --\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date\" aria-label=\"TypeScript\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/BUILT%20with-TypeScript-3178C6?style=flat\u0026logo=typescript\u0026logoColor=blue\" alt=\"Built with TypeScript\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date/actions\" aria-label=\"Build Status\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/nazmul-nhb/chronos-date/publish.yml?label=BUILD%20%26%20PUBLISH\u0026style=flat\u0026logo=github\" alt=\"Build Status\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date\" aria-label=\"Project Status\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/STATUS-maintained-brightgreen?style=flat\u0026logo=git\" alt=\"Maintained\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date/commits/main\" aria-label=\"Last Commit\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/nazmul-nhb/chronos-date?style=flat\u0026label=LAST%20COMMIT\u0026logo=git\" alt=\"Last Commit\" /\u003e\n  \u003c/a\u003e\n\n  \u003c!-- GitHub Meta --\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date/stargazers\" aria-label=\"GitHub Stars\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/nazmul-nhb/chronos-date?style=flat\u0026label=STARS\u0026logo=github\" alt=\"GitHub stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date/issues\" aria-label=\"Open Issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/nazmul-nhb/chronos-date?style=flat\u0026label=ISSUES\u0026logo=github\" alt=\"Open Issues\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/nazmul-nhb/chronos-date/pulls\" aria-label=\"Open Pull Requests\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues-pr/nazmul-nhb/chronos-date?style=flat\u0026label=PRs\u0026logo=github\" alt=\"Pull Requests\" /\u003e\n  \u003c/a\u003e\n\n  \u003c!-- License Info --\u003e\n  \u003ca href=\"https://www.npmjs.com/package/chronos-date\" aria-label=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/l/chronos-date.svg?label=LICENSE\u0026style=flat\u0026color=orange\u0026logo=open-source-initiative\" alt=\"License\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Why Chronos?\n\nIn ancient Greek mythology, **Chronos** is the primordial embodiment of time — not merely tracking moments, but **defining their very existence**. Like its mythological namesake, the `Chronos` class offers **precise, immutable, and expressive control** over time within your application.\n\nDesigned to go beyond the native `Date` object, it empowers you to manipulate, format, compare, and traverse time with **clarity, reliability, and confidence** — all while staying _immutable_ and _framework-agnostic_.\n\n## Key Features\n\n- **Immutability:** Every modification returns a new `Chronos` instance. Your original dates remain intact.\n- **Rich API:** From formatting to comparison, calculation, and detailed part extraction.\n- **Plugin System:** Extend core capabilities seamlessly using `Chronos.use(plugin)`. Over a dozen official plugins exist for advanced operations like business hours, seasons, zodiacs, relative times, and more.\n- **Time Zone Support:** Advanced formatting and tracking of UTC offsets and Native time zone properties.\n- **Date Utilities:** Extra utilities, type guards, types and constants for light weight date operations without the need of core class.\n- **TypeScript IntelliSense:** Built with first-class TypeScript types and TSDoc documentation for better IDE support and autocompletion.\n- **Cross-environment compatibility:** Works anywhere JS runs (Node.js, Browser, Deno, Bun).\n\n---\n\n## Installation\n\n```sh\nnpm install chronos-date\n# or\nyarn add chronos-date\n# or\npnpm add chronos-date\n```\n\n---\n\n## Quick Start\n\n```ts\nimport { Chronos, chronos } from 'chronos-date';\n\n// Using the constructor\nconst now = new Chronos();\nconsole.log(now.format('dd, mmm DD, YYYY')); \n\n// Using the function wrapper\nconst tomorrow = chronos().addDays(1);\nconsole.log(tomorrow.formatSafe('YYYY-MM-DD'));\n\n// Calculate differences\nconst eventDate = new Chronos('2025-12-31');\nconsole.log(now.diff(eventDate, 'day')); // Days until event\n```\n\n---\n\n## Modular Imports\n\nYou can import specific submodules for better tree-shaking:\n\n```ts\n// Guards\nimport { isValidDateInput } from \"chronos-date/guards\";\n\n// Utility functions\nimport { formatDate } from \"chronos-date/utils\";\n\n// Type definitions\nimport type { ChronosInput } from \"chronos-date/types\";\n\n// Constants\nimport { MONTHS } from \"chronos-date/constants\";\n\n// Plugins (imported individually)\nimport { timeZonePlugin } from \"chronos-date/plugins/timeZonePlugin\";\nimport { seasonPlugin } from \"chronos-date/plugins/seasonPlugin\";\n// All plugin imports share the same pattern\nimport { pluginName } from \"chronos-date/plugins/pluginName\";\n```\n\n---\n\n## Documentation\n\nFor full documentation, API reference, and interactive playgrounds, visit the [**Documentation Site**](https://chronos.nazmul-nhb.dev/).\n\n---\n\n## 🔗 Related Packages\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/toolbox-x\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Toolbox--X-toolbox--x-steelblue\" alt=\"toolbox-x\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/nhb-toolbox\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/NHB_Toolbox-nhb--toolbox-darkred\" alt=\"nhb-toolbox\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/bn-calendar\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Bangla_Calendar-bn--calendar-red\" alt=\"bn-calendar\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/nhb-hooks\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/React_Hooks-nhb--hooks-blue\" alt=\"nhb-hooks\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/locality-idb\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/IndexedDB_ORM-locality--idb-darkviolet\" alt=\"locality-idb\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/nhb-scripts\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Development_Scripts-nhb--scripts-red\" alt=\"nhb-scripts\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/nhb-express\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Express_Server_Scaffolder-nhb--express-orange\" alt=\"nhb-express\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\u003e\n  \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/nhb-anagram-generator\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Anagram_Generator-nhb--anagram--generator-teal\" alt=\"nhb-anagram-generator\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n## License\n\nThis project is licensed under the [Apache License 2.0](LICENSE) with the following additional requirement:\n\n**Additional Requirement:**\n\n\u003e Any fork, derivative work, or redistribution of this project must include clear attribution to [**Nazmul Hassan**](https://github.com/nazmul-nhb) in both the source code and any publicly available documentation.\n\nYou are free to use, modify, and distribute this project under the terms of the Apache 2.0 License, provided that appropriate credit is given.\n\n---\n\nBuilt with ❤️ by [**Nazmul Hassan**](https://nazmul-nhb.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmul-nhb%2Fchronos-date","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnazmul-nhb%2Fchronos-date","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmul-nhb%2Fchronos-date/lists"}