Come posso formattare la data e l'ora sul rapporto SMS?


133

sul rapporto SSRS che devo mostrare todays date and current time

ho provato questo, =FormatDateTime(Now,"MM/dd/yyyy hh:mm tt")ma questo non funziona per me dando un errore.

Qualcuno per favore mi aiuti per expression?

Voglio un display di output simile 4/12/2013 12:05 PM

Risposte:



18

Se la data e l'ora sono nella sua cella (aka casella di testo), allora dovresti cercare di applicare il formato all'intera casella di testo. Ciò creerà esportazioni più pulite in altri formati; in particolare, il valore verrà esportato come valore datetime in Excel anziché come stringa.

Utilizzare il riquadro delle proprietà o la finestra di dialogo per impostare il formato della casella di testo su "MM / gg / aaaa hh: mm tt"

Vorrei usare la risposta di Ian solo se il datetime è stato concatenato con un'altra stringa.


4
Piccolo addon per le persone che potrebbero trovare questa risposta: imposti il ​​formato su ="MM/dd/yyyy hh:mm tt". Se dimentichi il =, ogni cella avrà solo "MM/dd/yyyy hh:mm tt"come testo.
user1261104

5

Sto usando il seguito in SSRS 2005

=Format(Globals!ExecutionTime,"MM-dd-yyyy" & " ") 
& CStr(Hour(Globals!ExecutionTime))  & ":"
& CStr(Minute(Globals!ExecutionTime))

O

=Format(Globals!ExecutionTime,"MM-dd-yyyy" & " ") 
& Right("00" & CStr(Hour(Globals!ExecutionTime)), 2)
& ":"
& Right("00" & CStr(Minute(Globals!ExecutionTime)), 2)

Sulla base del commento:

=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss") 

O

=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")

4
Entrambi possono sembrare più semplici: =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss") o =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")
uomo disperato il

4

Spero che questo ti aiuti:

SELECT convert(varchar, getdate(), 100) -- mon dd yyyy hh:mmAM

SELECT convert(varchar, getdate(), 101) -- mm/dd/yyyy – 10/02/2008                  

SELECT convert(varchar, getdate(), 102) -- yyyy.mm.dd – 2008.10.02           

SELECT convert(varchar, getdate(), 103) -- dd/mm/yyyy

SELECT convert(varchar, getdate(), 104) -- dd.mm.yyyy

SELECT convert(varchar, getdate(), 105) -- dd-mm-yyyy

SELECT convert(varchar, getdate(), 106) -- dd mon yyyy

SELECT convert(varchar, getdate(), 107) -- mon dd, yyyy

SELECT convert(varchar, getdate(), 108) -- hh:mm:ss

SELECT convert(varchar, getdate(), 109) -- mon dd yyyy hh:mm:ss:mmmAM (or PM)

SELECT convert(varchar, getdate(), 110) -- mm-dd-yyyy

SELECT convert(varchar, getdate(), 111) -- yyyy/mm/dd

SELECT convert(varchar, getdate(), 112) -- yyyymmdd

SELECT convert(varchar, getdate(), 113) -- dd mon yyyy hh:mm:ss:mmm

SELECT convert(varchar, getdate(), 114) -- hh:mm:ss:mmm(24h)

SELECT convert(varchar, getdate(), 120) -- yyyy-mm-dd hh:mm:ss(24h)

SELECT convert(varchar, getdate(), 121) -- yyyy-mm-dd hh:mm:ss.mmm

SELECT convert(varchar, getdate(), 126) -- yyyy-mm-ddThh:mm:ss.mmm

4

In SSRS 2016 c'è un'opzione sotto l'intestazione delle proprietà "Localizzazione" chiamata " Calendar", se fai clic su questo ti dà queste 2 opzioni:

  • Gregoriano (gg / mm / aaaa)
  • GregorianUSEInglese (MM / gg / aaaa)

Funziona egregiamente anche quando si fa riferimento ai dati di una tabella

in alternativa se questo non funziona per te, specifica uno di questi formati in "Numero" e nella cella " Format":

dd/MM/yyyy o MM/dd/yyyy

printscreen


1

Se fai clic sul punto vuoto del rapporto lontano da qualsiasi tavolo e poi cerchi le proprietà, uno dei campi Misc viene chiamato Lingua che ti consente di scegliere la lingua che desideri impostare, che dopo ciò può giocare con questo

=FormatDateTime(now,x)

Che xpuò essere 1, 2, 3, 4, 5


1

Se si desidera separare data e ora, utilizzare le espressioni seguenti: Espressione di data e ora

Espressione1 per la data corrente: = formatdatetime (oggi) la data di ritorno è = 15/11/2016

Expression2 per l'ora corrente: = CDate (Now). ToString ("hh: mm tt") il tempo di ritorno è = 15:44

Questo rapporto è stato stampato su Expression1 su Expression2

L'output sarà: Output di entrambe le espressioni

Questo rapporto è stato pubblicato il 15/11/2016 alle 15:44


1
=Replace(Format(CDate(Now()),"MM.dd.yyyy"), ".", "/")

1

Quello che segue è come lo faccio usando Visual Studio 2017 per un RDL destinato a SSRS 2017:

Fai clic con il pulsante destro del mouse sul campo nella casella di testo nell'area di progettazione e scegli Proprietà segnaposto . Scegli il pannello Numero e fai clic su Data nella casella di riepilogo Categoria , quindi seleziona la formattazione che stai cercando nella casella di riepilogo Tipo .


1

Prima vai al tuo pannello di controllo, seleziona Data, ora e Formato numero. Ora seleziona English (United Kingdom) dall'elenco a discesa.

Assicurarsi che il campo della data shor sia uguale a 'gg / mm / aaaa'. Premi Applica. Ora vai su SSRS e fai clic con il pulsante destro del mouse sul rapporto nello spazio vuoto e seleziona le proprietà.

Se si utilizza Visual Studio, impostare la proprietà Language su uguale a = User! Language.

Se si utilizza Generatore report, la proprietà Lingua verrà visualizzata nella sezione Localizzazione.


-1

Sto usando questo

= Formato (Adesso (), "gg / MM / aaaa hh: mm tt")


7
Questo è essenzialmente un duplicato della risposta a lungo accettata . Invece di ripubblicare, con sufficiente reputazione, puoi votare l'altra risposta per indicarne l'utilità.
OhBeWise,

-5

ciao amico, prova questa espressione nel tuo rapporto

="Page " + Globals!PageNumber.ToString() + " of " + Globals!OverallTotalPages.ToString() + vbcrlf + "Generated: " + Globals!ExecutionTime.ToString()
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.