22.06.2009 10:00:00 değerine sahip olduğumu varsayalım. Bu tarih saatinden nasıl yalnızca 10: 00'da alabilirim.
22.06.2009 10:00:00 değerine sahip olduğumu varsayalım. Bu tarih saatinden nasıl yalnızca 10: 00'da alabilirim.
Yanıtlar:
Bunun için birçok seçeneğiniz var:
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
Yardımcı Bağlantı: DateTime.ToString () Kalıpları
sssaniye başına sıfır sile saniye ve olmadan saniye
A'dan DateTimekullanabilirsiniz .TimeOfDay- ancak bu size TimeSpangünün zamanını (10 saat) temsil eden bir değer verir .
C # 'da yalnızca DateTime türü vardır ve hem tarih hem de saat bölümünden oluşur. DateTime'ın Tarih bölümünü umursamıyorsanız, bunu varsayılan değere ayarlayın:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
Bu şekilde, Microsoft temel tarihi 1/1/0001 dışında bir değere değiştirmeye karar verse bile tüm .NET sürümlerinde tutarlı olabilirsiniz.
DateTime.ToShortTimeString () yöntemine bakmak isteyebilirsiniz .
Ayrıca, DateTime nesnesinde tarih veya saati istediğiniz şekilde oluşturmanıza yardımcı olabilecek birçok yöntem ve özellik vardır . Sadece belgelere bir göz atın.
Bunu dene:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Bunu yapmanın farklı yolları var. DateTime.Now.ToLongTimeString()Yalnızca saati dize biçiminde döndüren kullanabilirsiniz .
DateTime.ToLongTimeString()değil demek istedin DateTime.Now.ToLongTimeString(). Bu konunun yaşı göz önüne alındığında, yanıt önceki cevaplara göre önemli bir iyileşme sağlamadığı sürece dirilememek en iyisidir.
Sadece yazabilirsin
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
gridview kullanıyorsanız yalnızca zamanı DataFormatString="{0:t}"
örneklerle gösterebilirsiniz :
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}"/>
Tarihleri değil de saatleri karşılaştırmak istiyorsanız, yalnızca standart bir karşılaştırma tarihine sahip olabilir veya kullandığınız tarihle eşleşebilirsiniz ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Bunun için daha iyi yollar olabilir, ancak tarihlerinizin eşleşmesini sağlar.
DateTime Kind'ı da hesaba katmanız gerekir.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}