logo
small logo
  • Produkte
  • Shop
  • Support
  • Über uns
  • Customer panel Support
    • en
    • de
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • Persischer Kalender im Bericht
  • Wie wird das Objekt WebReport in ASP .Net Core App verwendet?

    17. Januar 2018

    Neulich veröffentlichte Fast Reports eine neue Bibliothek für die Arbeit mit dem Framework ASP .Net

    read more
  • Kopieren von Berichtsbänder in einen anderen mit allen Inhalten

    31. März 2021

    Manchmal ist es notwendig, Teile eines Berichts in einem anderen zu verwenden. In einfachen Fällen

    read more
  • Starten der Anwendung aus FastReport .NET heraus in Docker für Linux

    17. November 2021

    Docker ist eine Software-Plattform für eine schnelle Entwicklung, Prüfung und Bereitstellung von Anwendungen. Es ermöglicht

    read more
  • Wahl der Top-Werte in einer Matrix

    22. April 2021

    Der Artikel ist aktuell bis Version 2022.1. FastReport.NET verfügt über ein großartiges Tool für die Anzeige

    read more
  • FastReport.NET packages and .NET 5.0

    17. Dezember 2020

    UPD: Gilt für die Versionen von FastReport .NET vor 2022.2. Lizenzpakete sind jetzt auf unserem

    read more

Persischer Kalender im Bericht

19. Mai 2021

Haben Sie gewusst, dass verschiede Länder unterschiedliche Datumformate haben? Wenn Sie einen mehrsprachigen Bericht bzw. einen Bericht für das Land, in dem Persisch (Farsi) gesprochen wird, erstellen, ist es wichtig, die Daten im richtigen Format anzugeben. Als Standard-Einstellung wird im FastReport das europäische Datenformat eingesetzt, aber die .NET-Mittel ermöglichen es in andere Formate umzuwandeln.

Wir haben also die Aufgabe das Datum ins persische Format umzuwandeln. Wir haben zum Beispiel im Bericht einen Ausdruck [Date], der das heutige Datum ausgibt:

[Date]

Der [Date] Ausdruck erhält das aktuelle Systemdatum im DateTime Format, aber der Wert des Textberichtes ist nach allen Verarbeitungen ein Zeichenkettenwert, d.h String. Erstellen wir eine neue Funktion im Bericht-Skript:

private void ConvertToPersianDate(object sender, EventArgs e)

Wir werden diese Funktion aus den Textobjekten aufrufen. Erstellen wir eine Zeitvariable, die den Objekttext ins DateTime umwandelt:

DateTime d = DateTime.Parse((sender as TextObject).Text);

“sender as TextObject” ist die Anfrage zu dem Objekt, das die Funktion aufgerufen hat. Wir können die Funktionen und Eigenschaften des Objekts nutzen, wenn wir es so aufrufen.

Danach benötigen wir ein PersianCalendar-Objekt, das unser Datum in das persische Format umwandelt:

PersianCalendar pc = new PersianCalendar();

Bemerken Sie, dass dieses Objekt in der System.Globalization Bibliothek enthalten ist und sie im Abschnitt using anzugeben ist.

Danach müssen wir den Objekttext selbst ändern. Schauen wir uns diese Zeile genauer an:

(sender as TextObject).Text = string.Format("{0}/{1}/{2}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d));

Hier geben wir den Text unseres Objektes vor. Der Wert selbst ist im Format Jahr/Monat/Tag, da wir die Funktion PersianCalendar verwenden, die die entsprechenden Werte abruft. Der Codeabschnitt, in dem der Text angegeben wird, kann nach dem Wunsch bearbeitet werden. Beispielsweise sieht der Code für das Datum im Format Tag.Monat.Jahr wie folgt aus:

"{0}.{1}.{2}", pc.GetDayOfMonth(d), pc.GetMonth(d), pc.GetYear(d)

Wir haben also letztendlich die folgende Funktion erhalten:

using System.Globalization;
namespace FastReport
{
 public class ReportScript
 {
 private void ConvertToPersianDate(object sender, EventArgs e)
 {
 // Umwandlung im Format DateTime
 DateTime d = DateTime.Parse((sender as TextObject).Text);
 
 // Objekterstellung für die Umwandlung 
 PersianCalendar pc = new PersianCalendar();
 
 // Erstellen einer Zeile mit PersianCalendar
 // Evtl. kann der Zeilenbaustein geändert werden 
 (sender as TextObject).Text = string.Format("{0}/{1}/{2}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d));
 }
 }
}

Fügen wir die Funktion zum AfterData-Ereignis des gewünschten Objekts hinzu.

AfterData

Und so sieht das Datum nun aus:

Das Endergebnis

Um die anderen zeitbezogenen Funktionen zu nutzen, können Sie die Daten der Tabelle entnehmen:

 GetDayOfWeek(),  Wochentag
 GetMonth(),  Monat
 GetDayOfMonth(),  Monatstag
 GetYear(),  Jahr
 GetHour()  Stunde
 GetMinute()  Minute
 GetSecond()  Sekunde

Jetzt wissen Sie, wie Sie die Datumsansicht in Ihrem Bericht ändern können. Dieser Artikel kann bei der Änderung der Ansicht helfen (Jahr, Monat, Tag). Es wird in Japan, China, Nordkorea, Südkorea, Taiwan, Ungarn, Litauen und Iran verwendet und gilt in einigen europäischen und asiatischen Ländern als sekundär. 

about product buy
avatar
Alexey Tantzura
QA
Fast Reports Team: Alexey Tantzura - Quality Assurance at Fast Reports
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Shop
  • Download
  • Dokumentation
  • Referenzen
  • Informationen zur Deinstallation unserer Produkte
  • FAQ
  • Tutorial Video
  • Forum
  • Support SLA
  • Articles
  • Unsere Nachrichten
  • Presse über uns
  • Partner
  • Außergewöhnliche Lizenzierung
  • Kontakte

© 1998-2023 by Fast Reports Inc.

  • Datenschutz

Trustpilot