สมมติว่าฉันมีค่า 6/22/2009 10:00:00 AM ฉันจะได้รับเพียง 10:00 น. จากเวลาวันที่นี้
สมมติว่าฉันมีค่า 6/22/2009 10:00:00 AM ฉันจะได้รับเพียง 10:00 น. จากเวลาวันที่นี้
คำตอบ:
คุณมีตัวเลือกมากมายสำหรับสิ่งนี้:
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
ลิงค์ที่มีประโยชน์: รูปแบบ DateTime.ToString ()
ss
คือวินาทีที่มีศูนย์นำหน้าและs
เป็นวินาทีที่ไม่มี
จาก a DateTime
คุณสามารถใช้.TimeOfDay
- แต่นั่นจะให้เวลาTimeSpan
แทนวัน (10 ชั่วโมง)
มีประเภท DateTime เท่านั้นใน C # และประกอบด้วยทั้งส่วนวันที่และเวลา หากคุณไม่สนใจส่วนวันที่ของ DateTime ให้ตั้งเป็นค่าเริ่มต้นดังนี้
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
วิธีนี้คุณสามารถสอดคล้องกันได้ในทุก ๆ เวอร์ชันของ. NET แม้ว่า Microsoft ตัดสินใจที่จะเปลี่ยนวันที่พื้นฐานเป็นอย่างอื่น 1/1/0001
คุณอาจต้องการที่จะมองเข้าไปในDateTime.ToShortTimeString ()วิธีการ
นอกจากนี้ยังมีวิธีการและคุณสมบัติอื่น ๆ อีกมากมายบนวัตถุDateTimeที่สามารถช่วยคุณในการกำหนดวันที่หรือเวลาในแบบที่คุณชอบ เพียงดูเอกสารประกอบ
ลองสิ่งนี้:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
มีหลายวิธีที่จะทำเช่นนั้น คุณสามารถใช้DateTime.Now.ToLongTimeString()
ซึ่งจะคืนค่าเวลาในรูปแบบสตริงเท่านั้น
DateTime.ToLongTimeString()
DateTime.Now.ToLongTimeString()
เมื่อพิจารณาถึงอายุของเธรดนี้ไม่ควรฟื้นคืนชีพขึ้นมาเว้นแต่ว่าการตอบสนองจะช่วยปรับปรุงคำตอบก่อนหน้าให้ดีขึ้นอย่างมีนัยสำคัญ
คุณสามารถเขียน
string time = dateTimeObect.ToString("HH:mm");
คุณสามารถใช้สิ่งนี้
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
เป็นเรียลไทม์ที่มีค่ามิลลิวินาทีและตั้งค่าเป็นเวลาเท่านั้น
DateTime now = DateTime.Now;
now.ToLongDateString(); // Wednesday, January 2, 2019
now.ToLongTimeString(); // 2:33:59 PM
now.ToShortDateString(); // 1/2/2019
now.ToShortTimeString(); // 2:16 PM
now.ToString(); // 1/2/2019 2:33:59 PM
มันใช้งานได้สำหรับฉัน ฉันค้นพบมันเมื่อฉันต้องทำงานกับ DateTime วันที่เพื่อรับเฉพาะส่วนวันที่
var wholeDate = DateTime.Parse("6/22/2009 10:00:00 AM");
var time = wholeDate - wholeDate.Date;
คุณสามารถใช้ToString("T")
เป็นเวลานานหรือToString("t")
เป็นเวลาสั้น ๆ
ถ้าคุณใช้ gridview คุณสามารถแสดงเฉพาะเวลาDataFormatString="{0:t}"
ตัวอย่าง:
By bind the value:-
<asp:Label ID="lblreg" runat="server" Text='<%#Eval("Registration_Time ", "{0:t}") %>'></asp:Label>
By bound filed:-
<asp:BoundField DataField=" Registration_Time" HeaderText="Brithday" SortExpression=" Registration Time " DataFormatString="{0:t}"/>
หากคุณต้องการเปรียบเทียบเวลาและไม่ใช่วันที่คุณอาจมีวันที่เปรียบเทียบแบบมาตรฐานหรือจับคู่กับวันที่คุณใช้เช่นเดียวกับใน ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
อาจมีวิธีที่ดีกว่าในการทำสิ่งนี้ แต่ทำให้วันที่ของคุณตรงกัน
คุณต้องบัญชีชนิด DateTime ด้วย
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}