Misalkan saya memiliki nilai 6/22/2009 10:00:00 AM. Bagaimana saya mendapatkan hanya 10:00 pagi dari waktu tanggal ini.
Misalkan saya memiliki nilai 6/22/2009 10:00:00 AM. Bagaimana saya mendapatkan hanya 10:00 pagi dari waktu tanggal ini.
Jawaban:
Anda memiliki banyak opsi untuk ini:
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
Tautan Bermanfaat: Pola DateTime.ToString ()
ssadalah detik dengan nol di depan dan sdetik tanpa
Dari a DateTime, Anda dapat menggunakan .TimeOfDay- tetapi itu memberi Anda waktu TimeSpanmewakili ke hari (10 jam).
Hanya ada tipe DateTime di C # dan itu terdiri dari bagian tanggal dan waktu. Jika Anda tidak peduli dengan bagian Tanggal DateTime, atur ke nilai default seperti ini:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
Dengan cara ini Anda bisa konsisten di semua versi .NET, bahkan jika Microsoft memutuskan untuk mengubah tanggal dasar ke yang lain selain 1/1/0001.
Anda mungkin ingin melihat metode DateTime.ToShortTimeString () .
Juga, ada banyak metode dan properti lain pada objek DateTime yang dapat membantu Anda dalam memformat tanggal atau waktu dengan cara apa pun yang Anda suka. Lihatlah dokumentasinya.
Coba ini:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Ada berbagai cara untuk melakukannya. Anda dapat menggunakan DateTime.Now.ToLongTimeString()yang hanya mengembalikan waktu dalam format string.
DateTime.ToLongTimeString()bukan DateTime.Now.ToLongTimeString(). Mengingat usia utas ini, sebaiknya jangan menghidupkannya kembali kecuali responsnya menyumbang peningkatan signifikan terhadap jawaban sebelumnya.
Anda cukup menulis
string time = dateTimeObect.ToString("HH:mm");
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
Anda dapat menggunakan ToString("T")untuk waktu yang lama atau ToString("t")untuk waktu yang singkat.
jika Anda menggunakan gridview maka Anda hanya dapat menunjukkan waktu dengan DataFormatString="{0:t}"
contoh:
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}"/>
Jika Anda ingin membandingkan waktu, dan bukan tanggal, Anda bisa saja memiliki tanggal perbandingan standar, atau cocok dengan tanggal yang Anda gunakan, seperti di ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Mungkin ada cara yang lebih baik untuk ini, tetapi tetap cocokkan tanggal Anda.
Anda perlu memperhitungkan Jenis Tanggal juga.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}