Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
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
FAQs
Formatting Date objects as strings since 2013
The npm package date-format receives a total of 1,995,356 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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.