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 ()
ss
adalah detik dengan nol di depan dan s
detik tanpa
Dari a DateTime
, Anda dapat menggunakan .TimeOfDay
- tetapi itu memberi Anda waktu TimeSpan
mewakili 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);
}