ฉันจะจัดรูปแบบวันที่และเวลาในรายงาน ssrs ได้อย่างไร


135

ในรายงาน SSRS ฉันต้องแสดง todays date and current time

ฉันลองแล้ว=FormatDateTime(Now,"MM/dd/yyyy hh:mm tt")แต่มันไม่ได้ผลสำหรับฉันที่ให้ข้อผิดพลาด

ใครก็ได้โปรดช่วยฉันด้วยexpression?

ฉันต้องการแสดงผลลัพธ์เช่น 4/12/2013 12:05 PM

คำตอบ:


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

เอาท์พุต:

04/12/2013 05:09 PM

8
เป็นไปได้Format()สตริงที่อธิบายไว้ในบทความนี้: วันที่และรูปแบบเวลา Strings ; ฉันคิดว่าฉันจะพูดถึงว่ามันคือสิ่งที่ฉันกำลังมองหาเมื่อมาถึงที่นี่!
Matt Gibson

18

หากวันที่และเวลาอยู่ในเซลล์ของตัวเอง (aka textbox) คุณควรดูที่การใช้รูปแบบกับกล่องข้อความทั้งหมด สิ่งนี้จะสร้างการส่งออกที่สะอาดกว่าไปยังรูปแบบอื่น ๆ โดยเฉพาะอย่างยิ่งค่าจะส่งออกเป็นค่าวันที่และเวลาไปยัง Excel แทนที่จะเป็นสตริง

ใช้บานหน้าต่างคุณสมบัติหรือกล่องโต้ตอบเพื่อตั้งค่ารูปแบบสำหรับกล่องข้อความเป็น "MM / dd / yyyy hh: mm tt"

ฉันจะใช้คำตอบของ Ian ก็ต่อเมื่อมีการเชื่อมวันที่และเวลากับสตริงอื่น


4
ส่วนเสริมเล็กน้อยสำหรับผู้ที่อาจพบคำตอบนี้: คุณตั้งค่ารูปแบบเป็น="MM/dd/yyyy hh:mm tt". หากคุณลืม=ทุกเซลล์ก็จะมี"MM/dd/yyyy hh:mm tt"เป็นข้อความ
user1261104

5

ฉันใช้กำลังติดตามใน SSRS 2005

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

หรือ

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

ตามความคิดเห็น:

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

หรือ

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

4
ทั้งสองอย่างดูเรียบง่ายขึ้น: =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss") หรือ =Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")
ผู้ชายที่สิ้นหวัง

4

หวังว่านี่จะช่วยได้:

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

ใน SSRS 2016 มีตัวเลือกอยู่ใต้ส่วนหัวคุณสมบัติ "Localization" ที่เรียกว่า " Calendar" หากคุณคลิกที่ตัวเลือกนี้จะมี 2 ตัวเลือกดังนี้:

  • เกรกอเรียน (dd / mm / yyyy)
  • เกรกอเรียนยูเอสอังกฤษ (MM / dd / yyyy)

ซึ่งใช้งานได้ดีเมื่ออ้างอิงข้อมูลจากตารางเช่นกัน

หรือหากวิธีนี้ใช้ไม่ได้ผลสำหรับคุณให้ระบุรูปแบบใดรูปแบบหนึ่งเหล่านี้ใน "Number" และในเซลล์ " Format":

dd/MM/yyyy หรือ MM/dd/yyyy

บันทึกหน้าจอ, พิมพ์หน้าจอ


2

ต่อไปนี้เป็นวิธีการใช้ Visual Studio 2017 สำหรับ RDL ที่กำหนดเป้าหมายสำหรับ SSRS 2017:

คลิกขวาบนสนามในช่องบนพื้นผิวการออกแบบและเลือกคุณสมบัติยึดตำแหน่ง เลือกแผงตัวเลขและคลิกที่วันที่ในกล่องรายการประเภทจากนั้นเลือกการจัดรูปแบบที่คุณต้องการในกล่องรายการประเภท


1

หากคุณคลิกที่จุดว่างบนรายงานที่อยู่ห่างจากตารางใด ๆ จากนั้นดูในคุณสมบัติหนึ่งในฟิลด์อื่น ๆ เรียกว่าภาษาซึ่งช่วยให้คุณสามารถเลือกภาษาที่คุณต้องการตั้งค่าซึ่งหลังจากทำเช่นนั้นสามารถเล่นกับสิ่งนี้ได้

=FormatDateTime(now,x)

ซึ่งxอาจเป็น 1, 2, 3, 4, 5


1

หากคุณต้องการแยกวันที่และเวลาให้ใช้นิพจน์ด้านล่าง: นิพจน์ วันที่และเวลา

Expression1สำหรับวันที่ปัจจุบัน: = formatdatetime (วันนี้) วันที่ส่งคืนคือ = 11/15/2016

Expression2สำหรับเวลาปัจจุบัน: = CDate (Now) .oString ("hh: mm tt") เวลากลับของมันคือ = 15:44 น.

รายงานนี้พิมพ์บนExpression1 ที่Expression2

เอาต์พุตจะเป็น: เอาต์พุตของนิพจน์ทั้งสอง

รายงานนี้พิมพ์เมื่อ15/11/2559 เวลา15:44 น



1

ขั้นแรกไปที่แผงควบคุมของคุณเลือกวันที่เวลาและรูปแบบตัวเลข ตอนนี้เลือกภาษาอังกฤษ (สหราชอาณาจักร) จากรายการแบบเลื่อนลง

ตรวจสอบให้แน่ใจว่าฟิลด์ shor date เท่ากับ 'dd / mm / yyyy' กดใช้ ตอนนี้ไปที่ SSRS แล้วคลิกขวาที่รายงานในพื้นที่ว่างและเลือกคุณสมบัติ

หากคุณกำลังใช้ Visual Studio ให้ตั้งค่าคุณสมบัติ Language เท่ากับ = User! Language

หากคุณกำลังใช้ Report Builder คุณสมบัติภาษาจะปรากฏในส่วนการแปลภาษา


-1

ฉันกำลังใช้สิ่งนี้

= รูปแบบ (Now (), "dd / MM / yyyy hh: mm tt")


7
นี่คือหลักที่ซ้ำกันของคำตอบที่ได้รับการยอมรับนาน แทนที่จะโพสต์ซ้ำด้วยชื่อเสียงที่เพียงพอคุณสามารถเพิ่มคะแนนให้คำตอบอื่นเพื่อแสดงถึงประโยชน์
OhBeWise

-5

สวัสดีเพื่อนโปรดลองใช้สำนวนนี้รายงานของคุณ

="Page " + Globals!PageNumber.ToString() + " of " + Globals!OverallTotalPages.ToString() + vbcrlf + "Generated: " + Globals!ExecutionTime.ToString()
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.