Tillitsdone
down Scroll to discover

Using Day.js Plugins in Node.js Applications

Learn how to enhance your Node.js applications with Day.js plugins for advanced date manipulation.

Discover essential plugins and best practices for efficient date handling.
thumbnail

Using Day.js Plugins to Extend Date Functionality in Node.js

Abstract fluid motion of smooth flowing liquid in bright cyan and electric blue colors captured from top-down perspective representing the flow of time high-quality ultra-realistic cinematic 8K UHD high resolution sharp and detail

Working with dates in JavaScript has always been a bit tricky. While the native Date object gives us basic functionality, it often falls short when we need more advanced features. That’s where Day.js comes in – a lightweight alternative to Moment.js that’s perfect for modern applications. Today, let’s explore how to supercharge Day.js with plugins in your Node.js projects.

Getting Started with Day.js Plugins

First things first, let’s set up our project. If you haven’t already, install Day.js:

Terminal window
npm install dayjs

The beauty of Day.js lies in its plugin system. Instead of loading everything at once, you only import the functionality you need. This keeps your application lightweight and performant.

Geometric abstract composition with interconnected gears and mechanical elements in bright neon orange and yellow colors shot from a 45-degree angle symbolizing plugin connectivity high-quality ultra-realistic cinematic 8K UHD high resolution sharp and detail

Essential Plugins for Every Project

Let’s dive into some of the most useful plugins you’ll want to consider:

1. RelativeTime Plugin

The RelativeTime plugin lets you display dates in a human-friendly format. Perfect for social media apps or any interface where you want to show “2 hours ago” instead of the full timestamp.

const dayjs = require('dayjs')
const relativeTime = require('dayjs/plugin/relativeTime')
dayjs.extend(relativeTime)
console.log(dayjs().from(dayjs('2023-01-01'))) // displays "1 year ago"

2. CustomParseFormat Plugin

When you need to work with custom date formats, this plugin is invaluable:

const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat)
const date = dayjs('2024-03-15 16:30', 'YYYY-MM-DD HH:mm')

Elegant swirling pattern of metallic brushstrokes in concrete gray and silver colors with hints of teal viewed from side angle depicting the concept of time passing high-quality ultra-realistic cinematic 8K UHD high resolution sharp and detail

3. Duration Plugin

Calculate and manipulate durations with ease:

const duration = require('dayjs/plugin/duration')
dayjs.extend(duration)
const duration = dayjs.duration({
hours: 2,
minutes: 30
})
console.log(duration.humanize()) // displays "2.5 hours"

Pro Tips for Plugin Usage

  1. Chain Multiple Plugins: Plugins can work together seamlessly. For example, combine UTC and Timezone plugins for robust international date handling.

  2. Plugin Loading Order: Some plugins depend on others. Always check the documentation for dependencies and load them in the correct order.

  3. Performance Considerations: Only load the plugins you need. Each plugin adds to your bundle size, so be mindful of what you import.

Conclusion

Day.js plugins provide a flexible and powerful way to handle dates in your Node.js applications. By choosing the right combination of plugins, you can create a custom date manipulation toolkit that’s perfect for your specific needs, all while keeping your application lightweight and maintainable.

Dynamic abstract composition of interlocking curved shapes in bright turquoise and emerald green colors captured from low angle perspective representing the concept of modularity and extensibility high-quality ultra-realistic cinematic 8K UHD high resolution sharp and detail

icons/logo-tid.svg Latest Blogs
Discover our top articles, selected to support the growth of your business.
https://imgproxy-landing-page.tillitsdone.com/sig/rs:fit:1200:630/plain/https%3A%2F%2Fcms-r2.tillitsdone.com%2Fwp-content-prod%2Fuploads%2F2025%2F04%2FTill-its-done_SEO_R06_apr_1440x967_edit.jpg@webp React Native คืออะไร ทำความรู้จัก และเริ่มต้นสร้าง Project React Native คือ Framework ที่ช่วยให้นักพัฒนาสร้างแอปมือถือ โดยมีประสิทธิภาพใกล้เคียงกับ Native App ซึ่งลดเวลาและค่าใช้จ่ายในการพัฒนา แต่ทำได้ยังไงกันนะ image_generation/Debug-TailwindCSS-with-DevTools-1732752708935-cdd0a53458db0224ae03d6d0b9599879.png Debug TailwindCSS Issues with Browser DevTools Learn practical techniques for debugging TailwindCSS using browser DevTools. Master the cascade, understand style overrides, and solve common responsive design issues efficiently. image_generation/Jest-Coverage-Reports-Guide-1732733982763-bc09ffcd377b2159e9e17e9d31cc1515.png Using Jest's Coverage Reports for Better Tests Learn how to leverage Jest's coverage reports to write more effective tests, understand coverage metrics, and set meaningful thresholds to maintain high-quality code in your projects. image_generation/TypeScript-Dynamic-Typing-Guide-1732730343665-165af096cc3ac42cdd09fdc9db8939fd.png Dynamic Typing in TypeScript: Tips and Tricks Dive into advanced TypeScript techniques including type inference, assertions, guards, and generic types. Learn how to write more flexible and maintainable TypeScript code with practical examples. image_generation/Flutter-Firebase-Security-Guide-1732785226182-31fd359bc2d1d780b44cb5bb56f8d5e2.png Securing Flutter Apps with Firebase Security Learn how to implement robust security rules in your Flutter applications using Firebase Firestore. Discover best practices, common patterns, and advanced techniques for data protection. image_generation/AstroJS-WordPress-Contact-Forms-1732707848460-eb31a02c72fe24946242670b10dec77d.png Create AstroJS Contact Forms with WordPress Learn how to build a modern contact form by integrating AstroJS with WordPress API. This guide covers setup, implementation, security, and best practices for seamless form handling.
icons/logo-tid.svg

Talk with CEO

Ready to bring your web/app to life or boost your team with expert Thai developers?
Contact us today to discuss your needs, and let’s create tailored solutions to achieve your goals. We’re here to help at every step!
🖐️ Contact us
Let's keep in Touch
Thank you for your interest in Tillitsdone! Whether you have a question about our services, want to discuss a potential project, or simply want to say hello, we're here and ready to assist you.
We'll be right here with you every step of the way.
Contact Information
rick@tillitsdone.com+66824564755
Find All the Ways to Get in Touch with Tillitsdone - We're Just a Click, Call, or Message Away. We'll Be Right Here, Ready to Respond and Start a Conversation About Your Needs.
Address
9 Phahonyothin Rd, Khlong Nueng, Khlong Luang District, Pathum Thani, Bangkok Thailand
Visit Tillitsdone at Our Physical Location - We'd Love to Welcome You to Our Creative Space. We'll Be Right Here, Ready to Show You Around and Discuss Your Ideas in Person.
Social media
Connect with Tillitsdone on Various Social Platforms - Stay Updated and Engage with Our Latest Projects and Insights. We'll Be Right Here, Sharing Our Journey and Ready to Interact with You.
We anticipate your communication and look forward to discussing how we can contribute to your business's success.
We'll be here, prepared to commence this promising collaboration.
Frequently Asked Questions
Explore frequently asked questions about our products and services.
Whether you're curious about features, warranties, or shopping policies, we provide comprehensive answers to assist you.