Jak sformatować datę i godzinę w raporcie SSRS?

133

w raporcie SSRS, który muszę pokazać todays date and current time

próbowałem tego =FormatDateTime(Now,"MM/dd/yyyy hh:mm tt") ale to nie działa dla mnie, dając błąd.

Każdy, proszę, pomóż mi expression ?

Chcę wyświetlać wyjście jak 4/12/2013 12:05 PM

Neo
źródło

Odpowiedzi:

238
=Format(Now(), "MM/dd/yyyy hh:mm tt")

Wynik:

04/12/2013 05:09 PM
Ian Preston
źródło
8
Możliwe Format()ciągi są opisane w tym artykule: Ciągi formatujące datę i godzinę ; Pomyślałem, że wspomnę o tym, ponieważ tego właśnie szukałem, kiedy tu przyjechałem!
Matt Gibson
18

Jeśli data i godzina znajdują się w osobnej komórce (czyli polu tekstowym), należy przyjrzeć się zastosowaniu formatu do całego pola tekstowego. Spowoduje to czystszy eksport do innych formatów; w szczególności wartość zostanie wyeksportowana jako wartość data-godzina do programu Excel zamiast ciągu.

Użyj panelu właściwości lub okna dialogowego, aby ustawić format pola tekstowego na „MM / dd / rrrr hh: mm tt”

Użyłbym odpowiedzi Iana tylko wtedy, gdy data i godzina jest łączona z innym ciągiem.

Jamie F.
źródło
4
Mały dodatek dla osób, które mogą znaleźć tę odpowiedź: ustawiłeś format na ="MM/dd/yyyy hh:mm tt". Jeśli zapomnisz =, każda komórka będzie miała tylko "MM/dd/yyyy hh:mm tt"tekst.
user1261104
5

Używam następujących w SSRS 2005

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

Lub

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

Na podstawie komentarza:

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

LUB

=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")
LCJ
źródło
4
Oba mogą wyglądać prościej: =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss") lub =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")
zdesperowany człowiek
4

Mam nadzieję że to pomoże:

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
Shubham Bhangale
źródło
4

W SSRS 2016 jest opcja pod nagłówkiem właściwości „Lokalizacja” o nazwie „ Calendar”, jeśli ją klikniesz, daje to dwie opcje:

  • Gregoriański (dd / mm / rrrr)
  • GregoriańskiUSE angielski (MM / dd / rrrr)

Działa to doskonale również w przypadku odwoływania się do danych z tabel

alternatywnie, jeśli to nie zadziała, określ jeden z tych formatów w polu „Numer” i w komórce „ Format”:

dd/MM/yyyy lub MM/dd/yyyy

zrzut ekranu

Crezzer7
źródło
1

Jeśli klikniesz puste miejsce w raporcie z dala od jakiejkolwiek tabeli, a następnie spojrzysz we właściwościach, jedno z pól Różne nazywa się Język, które pozwala wybrać język, który chcesz ustawić, który po wykonaniu tej czynności może się tym zająć

=FormatDateTime(now,x)

Który xmoże wynosić 1, 2, 3, 4, 5

Tariq Khalaf
źródło
1

Jeśli chcesz, aby data i godzina były oddzielne, użyj poniższych wyrażeń: Data i godzina Wyrażenie

Wyrażenie1 dla bieżącej daty: = formatdatetime (dzisiaj), jego data powrotu to = 15.11.2016

Wyrażenie2 dla bieżącego czasu: = CDate (teraz) .ToString ("hh: mm tt") jego czas powrotu to = 15:44

Ten raport został wydrukowany na Expression1 w Expression2

Wynik będzie: Wyjście obu wyrażeń

Raport wydrukowany 15.11.2016 o godzinie 15:44

Laxman Gite
źródło
1
=Replace(Format(CDate(Now()),"MM.dd.yyyy"), ".", "/")
Ronney
źródło
1

Poniżej przedstawiono sposób, w jaki mogę to zrobić przy użyciu programu Visual Studio 2017 dla języka RDL przeznaczonego dla SSRS 2017:

Kliknij prawym przyciskiem myszy pole w polu tekstowym na powierzchni projektowej i wybierz opcję Właściwości zastępcze . Wybierz panel Liczba i kliknij Data w polu listy Kategoria , a następnie wybierz formatowanie, którego szukasz, z listy Typ .

Del Lee
źródło
1

Najpierw przejdź do panelu sterowania, wybierz datę, godzinę i format liczb. Teraz wybierz angielski (Wielka Brytania) z rozwijanej listy.

Upewnij się, że pole daty skróconej jest równe „dd / mm / rrrr”. Naciśnij Zastosuj. Teraz przejdź do SSRS i kliknij prawym przyciskiem myszy raport w pustym miejscu i wybierz właściwości.

Jeśli używasz programu Visual Studio, ustaw właściwość Język na = Użytkownik! Język.

Jeśli używasz programu Report Builder, właściwość Język pojawi się w sekcji Lokalizacja.

Gul Saeed Khattak
źródło
-1

Używam tego

= Format (Now (), „dd / MM / rrrr gg: mm tt”)

Milton Alvarado
źródło
7
Jest to zasadniczo duplikat dawno akceptowanej odpowiedzi . Zamiast ponownie publikować, mając wystarczającą reputację, możesz zagłosować za drugą odpowiedzią, aby wskazać jej przydatność.
OhBeWise
-5

Cześć przyjacielu, spróbuj tego wyrażenia w swoim raporcie

="Page " + Globals!PageNumber.ToString() + " of " + Globals!OverallTotalPages.ToString() + vbcrlf + "Generated: " + Globals!ExecutionTime.ToString()
venkataramana
źródło