HILFE ZUM KNOTENPUNKT

date-fns NPM (Wie es für Entwickler funktioniert)

Einführung

Bei der Arbeit mit Datumsangaben in einer React-Anwendung ist date-fns eine leistungsstarke und leichtgewichtige moderne JavaScript-Datums-Utility-Bibliothek, die die Manipulation von JavaScript-Datumsangaben zu einem Kinderspiel macht. date-fns verwendet die vorhandenen nativen Datentypen und erweitert die Kernobjekte aus Sicherheitsgründen nicht, d.h. es vermeidet die Änderung oder Hinzufügung von Funktionalitäten zu den eingebauten Datentypen, was zu möglichen Fehlern oder Konflikten führen würde. In diesem Artikel erfahren Sie, wie Sie date-fns in Ihr React-Projekt integrieren können und erhalten einige praktische Beispiele.

Warum date-fns?

date-fns bietet mehrere Vorteile:

  • Modular: Sie können nur die Funktionen importieren, die Sie benötigen, um die Paketgröße zu reduzieren.
  • Unveränderlich: Es wird mit reinen Funktionen erstellt, und diese Funktionen verändern daher die ursprünglichen Datumsobjekte nicht.
  • Umfassend: Bietet eine breite Palette von Funktionen für die Datumsmanipulation und -formatierung.
  • Internationalisierung: Unterstützt mehrere Regionen.

Erste Schritte

Installieren Sie zunächst das date-fns npm-Paket über npm:

npm install date-fns
or
yarn add date-fns
npm install date-fns
or
yarn add date-fns
SHELL

Formatierung von Daten

Eine der häufigsten Aufgaben ist die Formatierung von Datumsangaben, date-fns verwendet . Lassen Sie uns eine einfache Komponente erstellen, die das aktuelle Datum in Ihrer Zeitzone in einem lesbaren Format anzeigt.

import React from 'react';
import { format } from 'date-fns';
const FormattedDate = () => {
  const currentDate = new Date();
  const formattedDate = format(currentDate, 'MMMM do, yyyy');
  return <p>{formattedDate}</p>;
};
export default FormattedDate;
js
JAVASCRIPT

Ausgabe

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 1

Parsing-Termine

Sie können auch Datumsangaben aus Zeichenketten parsen. Hier ist ein Beispiel für das Parsen einer Datumszeichenfolge und deren Anzeige in einem anderen Format:

import React from 'react';
import { parse, format } from 'date-fns';
const ParsedDate = () => {
  const dateString = '2024-06-23';
  const parsedDate = parse(dateString, 'yyyy-MM-dd', new Date());
  const formattedDate = format(parsedDate, 'MMMM do, yyyy');
  return <p>{formattedDate}</p>;
};
export default ParsedDate;
js
JAVASCRIPT

Ausgabe

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 2

Addieren und Subtrahieren von Daten

date-fns macht es einfach, Zeit zu Daten zu addieren oder von ihnen zu subtrahieren. Hier ist ein Beispiel für das Hinzufügen von 7 Tagen zum aktuellen Datum:

import React from 'react';
import { addDays, format } from 'date-fns';
const AddDaysExample = () => {
  const currentDate = new Date();
  const futureDate = addDays(currentDate, 7);
  const formattedDate = format(futureDate, 'MMMM do, yyyy');
  return <p>{formattedDate}</p>;
};
export default AddDaysExample;
js
JAVASCRIPT

Ausgabe

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 3

Internationalisierung

date-fns unterstützt mehrere Sprachversionen. Um ein bestimmtes Lokal zu verwenden, müssen Sie es importieren und an die Formatierungsfunktion übergeben:

import React from 'react';
import { format } from 'date-fns';
import { fr } from 'date-fns/locale';
const FrenchDate = () => {
  const currentDate = new Date();
  const formattedDate = format(currentDate, 'MMMM do, yyyy', { locale: fr });
  return <p>{formattedDate}</p>;
};
export default FrenchDate;
js
JAVASCRIPT

Ausgabe

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 4

Einführung in IronPDF

IronPDF for Node.js ist eine leistungsstarke Node.js-Bibliothek, die es Entwicklern ermöglicht, PDFs in ihren Node.js-Projekten zu erstellen und zu bearbeiten. Egal, ob Sie PDFs aus HTML erstellen, bestehende PDFs bearbeiten oder Webseiten in das PDF-Format konvertieren möchten, IronPDF hat alles für Sie.

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 5 - IronPDF for Node.js: Die Node.js PDF-Bibliothek

Wesentliche Merkmale

Konvertierung von HTML in PDF

Konvertieren Sie mühelos HTML-Inhalte in PDF-Dokumente. Diese Funktion ist besonders nützlich für die Erstellung dynamischer PDFs aus Webinhalten.

Konvertierung von URL in PDF

Generieren Sie PDFs direkt aus URLs, so dass Sie den Inhalt von Webseiten erfassen und programmgesteuert als PDF-Dateien speichern können.

PDF-Bearbeitung

Bestehende PDF-Dokumente lassen sich mühelos zusammenführen, aufteilen und manipulieren. IronPDF bietet Funktionen wie das Anhängen von Seiten, das Aufteilen von Dokumenten und vieles mehr.

PDF-Sicherheit

Sichern Sie Ihre PDF-Dokumente, indem Sie sie mit Passwörtern verschlüsseln oder mit digitalen Signaturen versehen. IronPDF bietet Optionen zum Schutz Ihrer vertraulichen Dokumente vor unbefugtem Zugriff.

Hochwertiger Output

Erstellen Sie hochwertige PDF-Dokumente mit präzisem Rendering von Text, Bildern und Formatierungen. IronPDF stellt sicher, dass die von Ihnen generierten PDF-Dateien dem ursprünglichen Inhalt treu bleiben.

Plattformübergreifende Kompatibilität

IronPDF ist kompatibel mit verschiedenen Plattformen, einschließlich Windows, Linux und macOS, was es für eine Vielzahl von Entwicklungsumgebungen geeignet macht.

Einfache Integration

Integrieren Sie IronPDF einfach in Ihre Node.js-Anwendungen mit Hilfe des npm-Pakets. Die API ist gut dokumentiert, so dass es einfach ist, PDF-Generierungsfunktionen in Ihre Projekte einzubinden.

Einrichtung

Um das IronPDF NPM-Paket zu installieren, verwenden Sie den folgenden Befehl:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
SHELL

PDF-Dokument mit IronPDF generieren und Date-Fns verwenden

Abhängigkeiten installieren: Erstellen Sie zuerst ein neues Next.js-Projekt (falls noch nicht geschehen) mit folgendem Befehl: Siehe hier

npx create-next-app@latest date-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest date-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
SHELL

Navigieren Sie dann zu Ihrem Projektverzeichnis:

cd date-pdf
cd date-pdf
SHELL

Installieren Sie die erforderlichen Pakete:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add date-fns
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add date-fns
SHELL

Eine PDF-Datei erstellen

Nun, lassen Sie uns ein einfaches Beispiel zur Erstellung eines PDF mit IronPDF erstellen. In Ihrer Next.js-Komponente (z. B. pages/index.tsx) fügen Sie den folgenden Code hinzu:

PDF-Generierungs-API: Der erste Schritt ist die Erstellung einer Backend-API zur Generierung des PDF-Dokuments. Da IronPDF nur serverseitig läuft, müssen wir eine API erstellen, die aufgerufen wird, wenn ein Benutzer eine PDF-Datei erzeugen möchte. Erstellen Sie eine Datei im Pfad pages/api/pdf.js und fügen Sie den folgenden Inhalt hinzu.

Ein Lizenzschlüssel ist für IronPDF erforderlich. Sie können ihn von der Lizenzseite erhalten und in den untenstehenden Code einfügen.

// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
  try {
    const currentDate = new Date(); // javascript dates
    const formattedDate = format(currentDate, 'MMMM do, yyyy');
    let content = "<h1>Demo React Hook Form and Generate PDF Using IronPDF</h1>"
    content+="<p>Date:"+currentDate+"</p>";
    content+="<p>Formatted Date:"+formattedDate+"</p>";
    const pdf = await PdfDocument.fromHtml(content);
    const data = await pdf.saveAsBuffer();
    console.error("data PDF:", data);
    res.setHeader("Content-Type", "application/pdf");
    res.setHeader(
      "Content-Disposition",
      "attachment; filename=awesomeIron.pdf",
    );
    res.send(data);
  } catch (error) {
    console.error("Error generating PDF:", error);
    res.status(500).end();
  }
}
}
js
JAVASCRIPT

Ändern Sie nun die index.js und fügen Sie den folgenden Code ein

import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState, useEffect } from "react";
import { format } from 'date-fns';
export default function Home() {
  const [text, setText] = useState("");
  useEffect(() => {
    const currentDate = new Date(); // new date instance
    const formattedDate = format(currentDate, 'MMMM do, yyyy');
    setText(formattedDate);
  }, []);
  const generatePdf = async () => {
    try {
      const response = await fetch("/api/pdf-datefns?f=" + text);
      const blob = await response.blob();
      const url = window.URL.createObjectURL(new Blob([blob]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "awesomeIron.pdf");
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (error) {
      console.error("Error generating PDF:", error);
    }
  };  
  const handleChange = (event) => {
    seteText(hashids.encode(event.target.value));
    setText(event.target.value);
  };
  return (
    <div className={styles.container}>
      <Head>
        <title>Generate PDF Using IronPDF</title>
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <main>
        <h1>Demo Date-fns and Generate PDF Using IronPDF</h1>     
        <p>
          Formatted Data: {text}
        </p>
        <button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
          Generate PDF 
        </button>
      </main>
      <style jsx>{`
        main {
          padding: 5rem 0;
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
        footer {
          width: 100%;
          height: 100px;
          border-top: 1px solid #eaeaea;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        footer img {
          margin-left: 0.5rem;
        }
        footer a {
          display: flex;
          justify-content: center;
          align-items: center;
          text-decoration: none;
          color: inherit;
        }
        code {
          background: #fafafa;
          border-radius: 5px;
          padding: 0.75rem;
          font-size: 1.1rem;
          font-family:
            Menlo,
            Monaco,
            Lucida Console,
            Liberation Mono,
            DejaVu Sans Mono,
            Bitstream Vera Sans Mono,
            Courier New,
            monospace;
        }
      `}</style>
      <style jsx global>{`
        html,
        body {
          padding: 0;
          margin: 0;
          font-family:
            -apple-system,
            BlinkMacSystemFont,
            Segoe UI,
            Roboto,
            Oxygen,
            Ubuntu,
            Cantarell,
            Fira Sans,
            Droid Sans,
            Helvetica Neue,
            sans-serif;
        }
        * {
          box-sizing: border-box;
        }
      `}</style>
    </div>
  );
}
js
JAVASCRIPT

Ausgabe

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 6

PDF

date-fns NPM (Wie es für Entwickler funktioniert): Abbildung 7

IronPDF-Lizenz

IronPDF.

Geben Sie hier den Lizenzschlüssel ein:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
js
JAVASCRIPT

Schlussfolgerung

date-fns ist eine vielseitige und effiziente Bibliothek, die ein leistungsstarkes, aber dennoch einfaches und konsistentes Toolset für die Handhabung von Datumsangaben in React-Anwendungen bietet. Der modulare Ansatz ermöglicht es Ihnen, nur das einzubinden, was Sie in Bezug auf die notwendigen Funktionen benötigen, und so den Umfang Ihres Pakets klein zu halten. Mit umfassender Unterstützung für Datumsmanipulation und -formatierung kann date-fns Ihre React-Projekte erheblich verbessern.

IronPDF for Node.js ist eine robuste Bibliothek, die es Entwicklern ermöglicht, PDF-Dokumente nahtlos zu erzeugen, zu bearbeiten und programmatisch zu verarbeiten. Ob Sie HTML, URLs oder andere Formate in PDFs konvertieren müssen, IronPDF bietet unkomplizierte APIs, um diese Aufgaben effizient zu erledigen. Die Funktionen erstrecken sich auf die Handhabung von PDF-Formularen, die Anwendung von Sicherheitsmaßnahmen, die Durchführung von OCR und vieles mehr.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full Stack WebOps Marketing Engineer bei Iron Software. Schon in jungen Jahren vom Programmieren angezogen, sah er das Rechnen sowohl als mysteriös als auch zugänglich an, was es zum perfekten Medium für Kreativität und Problemlösung machte.

Bei Iron Software genießt Darrius es, neue Dinge zu erschaffen und komplexe Konzepte zu vereinfachen, um sie verständlicher zu machen. Als einer unserer ansässigen Entwickler hat er sich auch freiwillig gemeldet, um Schüler zu unterrichten und sein Fachwissen mit der nächsten Generation zu teilen.

Für Darrius ist seine Arbeit erfüllend, weil sie geschätzt wird und einen echten Einfluss hat.

< PREVIOUS
memcached npm (Wie es für Entwickler funktioniert)
NÄCHSTES >
express validator npm (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2025.5 gerade veröffentlicht

Lizenzen anzeigen >