จะรับวันที่ปัจจุบันโดยไม่มีเวลาได้อย่างไร?


130

ฉันสามารถรับวันที่และเวลาโดยใช้:

DateTime now = DateTime.Now;

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

ฉันไม่ได้ใช้กล่องโต้ตอบตัวเลือกวันที่และเวลาใน ASP.NET (C #)

คำตอบ:


226

คุณสามารถรับวันที่ของวันนี้DateTimeโดยใช้Todayคุณสมบัติ:

 DateTime today = DateTime.Today;

หรือโดยทั่วไปคุณสามารถใช้Dateพร็อพเพอร์ตี้ ตัวอย่างเช่นหากคุณต้องการวันที่ UTC คุณสามารถใช้:

 DateTime dateTime = DateTime.UtcNow.Date;

ยังไม่ชัดเจนว่านั่นคือสิ่งที่คุณต้องการหรือไม่แม้ว่า ... หากคุณต้องการพิมพ์วันที่คุณสามารถใช้:

Console.WriteLine(dateTime.ToString("d"));

หรือใช้รูปแบบที่ชัดเจน:

Console.WriteLine(dateTime.ToString("dd/MM/yyyy"));

ดูเพิ่มเติมเกี่ยวกับสตริงรูปแบบวันที่ / เวลามาตรฐานและแบบกำหนดเอง คุณอาจต้องการระบุวัฒนธรรมทั้งนี้ขึ้นอยู่กับสถานการณ์ของคุณ

หากคุณต้องการ API วันที่ / เวลาที่ชัดเจนยิ่งขึ้นซึ่งช่วยให้คุณสามารถพูดคุยเกี่ยวกับวันที่แยกจากเวลาได้คุณอาจต้องการดูโครงการNoda Timeที่ฉันเริ่มต้น ตอนนี้ยังไม่พร้อมสำหรับการผลิต แต่เรายินดีที่จะรับฟังว่าคุณต้องการทำอะไรกับมัน ...


33

ดูที่นี่คุณจะได้รับเฉพาะวันที่โดยการส่งสตริงรูปแบบ คุณสามารถรับรูปแบบวันที่อื่นได้ตามความต้องการของคุณตามที่ระบุด้านล่างสำหรับวันที่ปัจจุบัน:

DateTime.Now.ToString("M/d/yyyy");

ผลลัพธ์: "9/1/2558"

DateTime.Now.ToString("M-d-yyyy");

ผลลัพธ์: "9-1-2015"

DateTime.Now.ToString("yyyy-MM-dd");

ผลลัพธ์: "2015-09-01"

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

ผลลัพธ์: "2015-09-01 09:20:10"

สำหรับรายละเอียดเพิ่มเติมโปรดดูที่การอ้างอิง MSDN สำหรับ Custom Date and Time Format Strings



30

เวลาปัจจุบัน:

DateTime.Now.ToString("HH:mm:ss");

วันที่ปัจจุบัน :

DateTime.Today.ToString("dd-MM-yyyy");

11

คุณสามารถใช้รหัสต่อไปนี้เพื่อรับวันที่และเวลาแยกกัน

DateTime now = DateTime.Now;
string date = now.GetDateTimeFormats('d')[0];
string time = now.GetDateTimeFormats('t')[0];

คุณสามารถตรวจสอบMSDNสำหรับข้อมูลเพิ่มเติมได้


10

ไม่มีประเภทวันที่ในตัวใน. NET เท่านั้น

หลักการคือการใช้ a DateTimeโดยกำหนดส่วนเวลาไว้ที่เที่ยงคืน

DateTime.Todayคุณสมบัติคงที่จะให้วันที่ของวันนี้






0

ฉันคิดว่าคุณต้องการส่วนวันที่แยกกันเช่น (วันเดือนปี)

DateTime today = DateTime.Today;

จะไม่ทำงานสำหรับกรณีของคุณ คุณสามารถรับวันที่แยกกันได้ดังนั้นคุณจึงไม่จำเป็นต้องใช้ตัวแปรtodayให้เป็นDateTimeType ดังนั้นให้เพียงแค่ให้todayตัวแปรintType เพราะวันนั้นเป็น int เท่านั้น ดังนั้นวันนี้คือ 10 มีนาคม 2020 ผลของ

int วันนี้ = DateTime.Today.Day;

int เดือน = DateTime.Today.Month;

int year = DateTime.Today.Year;

MessageBox.Show (today ToString () + "- นี่คือวัน" + เดือน ToString () + "- นี่คือเดือน" + year ToString () + "- นี่คือปี");

จะเป็น " 10 - นี่คือวันที่3 - นี่คือเดือน2020 - นี่คือปี"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.