wake-up-neo.com

Reporting Services Entfernen Sie die Uhrzeit aus DateTime in Expression

Ich versuche, einen Ausdruck (Standardwert eines Parameters) mit einer expliziten Zeit zu füllen. Wie entferne ich die Zeit aus der "Jetzt" -Funktion?

56
Jeff

Fand die Lösung von hier

Dies erhält die letzte Sekunde des vorherigen Tages:

DateAdd("s",-1,DateAdd("d",1,Today())

Dies gibt die letzte Sekunde der vorherigen Woche zurück:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
2
Jeff

Etwas wie das:

=FormatDateTime(Now, DateFormat.ShortDate) 

Wobei "Jetzt" durch den Namen des Datums-/Zeitfelds ersetzt werden kann, das Sie konvertieren möchten.)
Zum Beispiel,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
91
Michael Maddox

Da SSRS VB verwendet, können Sie Folgendes tun:

=Today() 'returns date only

Wenn Sie verwenden würden:

=Now() 'returns date and current timestamp
43
RSolberg
=CDate(Now).ToString("dd/MM/yyyy")

Obwohl Sie das Datumsformat hart auf ein Gebietsschema programmieren.

27
Perhentian

Wenn Sie das Feld in der Berichtskopfzeile anzeigen müssen, versuchen Sie Folgendes: Klicken Sie mit der rechten Maustaste auf Textbox> Eigenschaften> Kategorie> Datum> wählen Sie * Format (Beachten Sie, dass hierdurch die regionalen Einstellungen beibehalten werden).

Da diese Frage oft angeschaut wurde, poste ich sie ... Hoffe, es hilft.

enter image description here

16
singhswat

Verwenden Sie einfach DateValue(Now), wenn das Ergebnis vom Datentyp DateTime sein soll.

8
user1165019

Wenn das erwartete Datenformat MM-dd-yyyy ist, versuchen Sie es unter .

=CDate(Now).ToString("MM-dd-yyyy")

Ebenso können Sie dieses versuchen,

=Format(Today(),"MM-dd-yyyy") 

Ausgabe: 02-04-2016

Hinweis:
Now() zeigt Ihnen aktuelles Datum und Zeitstempel an

Today() zeigt Ihnen Date nur kein Zeitteil.

Sie können auch ein beliebiges Datumsformat anstelle von MM-dd-yyyy in meinem Beispiel festlegen.

7
pedram

In der format-Eigenschaft eines Textfelds können Sie Formatzeichenfolgen verwenden:

z.B. D/M/Y, D usw.

5
zzawaideh

Eine Sache, die anderen helfen könnte, ist, dass Sie Folgendes einfügen können: =CDate(Now).ToString("dd/MM/yyyy") in die Format String-Eigenschaft von SSRS, die durch Klicken mit der rechten Maustaste auf die Spalte abgerufen werden kann. Das ist der sauberste Weg. Dann wird dein Ausdruck nicht zu groß und es wird schwierig sein, ihn visuell zu "parsen" :)

3
lbranjord
    FormatDateTime(Parameter.StartDate.Value)
2
Alivia

Meine Lösung für einen Datum/Uhrzeit-Parameter:

=CDate(Today())

Der Trick ist, wie von Perhentian empfohlen, wieder in eine DateTime umzuwandeln.

2
will webster

Verketten Sie einfach eine Zeichenfolge bis zum Ende des Werts:

Fields!<your field>.Value & " " 'test' 

und das sollte funktionieren!

2
amad

Ich komme spät ins Spiel, aber ich habe alle oben genannten Lösungen ausprobiert! konnte es nicht dazu bringen, die Nullen im Parameter zu löschen und mir eine Standardeinstellung zu geben (es ignorierte die Formatierung oder schien leer zu sein). Ich benutzte SSRS 2005 und kämpfte mit seinen klobigen/fehlerhaften Problemen.

Meine Problemumgehung bestand darin, der benutzerdefinierten Tabelle [DimDate] in meiner Datenbank, aus der ich Daten abgerufen habe, eine Spalte hinzuzufügen. Ich habe eine Spalte hinzugefügt, die eine Zeichenfolgendarstellung im gewünschten Format der Spalte [Datum] war. Anschließend habe ich in SSRS zwei neue Datasets erstellt, die die folgenden Abfragen für zwei Standardwerte für meine Standardwerte für das Datum "Bis" und "Ab" abgerufen haben:

'von'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date < DATEADD(month, -3, GETDATE()
                     )

'zu'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date <= GETDATE()
                     )
2
Chris Wood

Dies sollte im Datensatz erfolgen. Du könntest das tun

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

Führen Sie in SSRS Layout diese =Fields!DateColumnName.Value

1
Ricky Hope