Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
date-format
Advanced tools
The date-format npm package is a simple utility for formatting dates in JavaScript. It allows you to format dates in various patterns, making it easier to display dates in a human-readable format or in a specific format required by your application.
Basic Date Formatting
This feature allows you to format a date object into a string with a specified pattern. In this example, the current date is formatted as 'yyyy-MM-dd'.
const dateFormat = require('date-format');
const now = new Date();
console.log(dateFormat('yyyy-MM-dd', now));
Custom Date Formatting
This feature allows you to create custom date formats. In this example, the current time is formatted to show hours, minutes, seconds, and milliseconds.
const dateFormat = require('date-format');
const now = new Date();
console.log(dateFormat('hh:mm:ss.SSS', now));
Predefined Date Formats
This feature provides predefined date formats for common use cases. In this example, the current date and time are formatted in ISO 8601 format.
const dateFormat = require('date-format');
const now = new Date();
console.log(dateFormat.asString(dateFormat.ISO8601_FORMAT, now));
Moment.js is a widely-used library for parsing, validating, manipulating, and formatting dates in JavaScript. It offers a more extensive set of features compared to date-format, including time zone support and relative time formatting.
date-fns is a modern JavaScript date utility library that provides a comprehensive set of functions for working with dates. It is modular, allowing you to import only the functions you need, which can help reduce bundle size compared to moment.js.
Luxon is a library for working with dates and times in JavaScript. It is built on top of the native JavaScript Date object and provides a more modern API compared to moment.js. Luxon also includes support for time zones and internationalization.
node.js formatting of Date objects as strings. Probably exactly the same as some other library out there.
npm install date-format
var format = require('date-format');
format.asString(); // defaults to ISO8601 format and current date
format.asString(new Date()); // defaults to ISO8601 format
format.asString('hh:mm:ss.SSS', new Date()); // just the time
format.asString(format.ISO8601_WITH_TZ_OFFSET_FORMAT, new Date()); // in ISO8601 with timezone
or
var format = require('date-format');
format(); // defaults to ISO8601 format and current date
format(new Date()); // defaults to ISO8601 format
format('hh:mm:ss.SSS', new Date()); // just the time
format(format.ISO8601_WITH_TZ_OFFSET_FORMAT, new Date()); // in ISO8601 with timezone
output:
2017-03-14T14:10:20.391
2017-03-14T14:10:20.391
14:10:20.391
2017-03-14T14:10:20.391+11:00
Format string can be anything, but the following letters will be replaced (and leading zeroes added if necessary):
date.getDate()
date.getMonth() + 1
date.getFullYear().toString().substring(2, 4)
date.getFullYear()
date.getHours()
date.getMinutes()
date.getSeconds()
date.getMilliseconds()
Built-in formats:
format.ISO8601_FORMAT
- 2017-03-14T14:10:20.391
(local time used)format.ISO8601_WITH_TZ_OFFSET_FORMAT
- 2017-03-14T14:10:20.391+11:00
(local + TZ used)format.DATETIME_FORMAT
- 14 03 2017 14:10:20.391
(local time used)format.ABSOLUTETIME_FORMAT
- 14:10:20.391
(local time used)The date format library has limited ability to parse strings into dates. It can convert strings created using date format patterns (as above), but if you're looking for anything more sophisticated than that you should probably look for a better library (momentjs does pretty much everything).
var format = require('date-format');
// pass in the format of the string as first argument
format.parse(format.ISO8601_FORMAT, '2017-03-14T14:10:20.391');
format.parse(format.ISO8601_WITH_TZ_OFFSET_FORMAT, '2017-03-14T14:10:20.391+1100');
format.parse(format.ISO8601_WITH_TZ_OFFSET_FORMAT, '2017-03-14T14:10:20.391+11:00');
format.parse(format.ISO8601_WITH_TZ_OFFSET_FORMAT, '2017-03-14T03:10:20.391Z');
// returns Date
4.0.14
FAQs
Formatting Date objects as strings since 2013
The npm package date-format receives a total of 4,873,703 weekly downloads. As such, date-format popularity was classified as popular.
We found that date-format demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.