npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

shk-date

v1.0.7

Published

A date package to ease your life with js.

Downloads

7

Readme

ShkDate Library

A TypeScript class for handling date and time with customizable formats and validations, designed to manage dates and times in a flexible way.

Features

Custom date formats (DMY, YMD, etc.) and separators.
Custom time formats (HMS, MHS, etc.) and separators.
Support for various languages.
Validation for date irregularities, such as leap years and month-specific day limits.
Easy-to-use methods for getting and setting date and time components.
Option to fill zeros in date and time (e.g., 01/01/2024 vs. 1/1/2024).

Types

allowedDateFormat: Type for specifying accepted date formats.
allowedTimeFormat: Type for specifying accepted time formats.
allowedLanguages: Type representing supported languages for date localization.

Constructor

constructor(date?: string)

Creates a ShkDate instance, optionally accepting a date string in a specific format.

Properties

dateFormat: The format of the date (e.g., YMD, DMY).
timeFormat: The format of the time (e.g., HMS, MSH).
dateSeparator: Character(s) separating date components (e.g., -, /).
timeSeparator: Character(s) separating time components or custom indicators (h, m, s).
fillZeros: Boolean indicating if leading zeros should be added to date and time components.
language: The language for date localization (e.g., en-US, fr-FR).

Methods

Getters and Setters

getYear(), setYear(year: number | string): Get or set the year.
getMonth(), setMonth(month: IntRange<1,13> | string): Get or set the month.
getDay(), setDay(day: IntRange<1,32> | string): Get or set the day.
getHours(), setHours(hours: IntRange<0,24> | string): Get or set the hour.
getMinutes(), setMinutes(minutes: IntRange<0,60> | string): Get or set the minutes.
getSeconds(), setSeconds(seconds: IntRange<0,60> | string): Get or set the seconds.

Date and Time Handling

getDate(), setDate(date: string): Get or set the full date as a string.
getTime(), setTime(time: string): Get or set the time as a string.

Example Usage

const myDate = new ShkDate('2024-11-05 14:30:00');
myDate.dateFormat = 'DMY';
myDate.dateSeparator = '/';
myDate.fillZeros = true;

console.log(myDate.date); // Outputs: "05/11/2024"
console.log(myDate.time); // Outputs: "14:30:00"

License

This project is licensed under the MIT License.