Saya melihat bahwa pertanyaan ini telah dijawab untuk Jawa, JavaScript, dan PHP, tetapi tidak C#. Jadi, bagaimana mungkin seseorang menghitung jumlah hari antara dua tanggal di C#?
Atas jawaban adalah benar, namun jika anda ingin hanya hari sebagai int dan senang untuk melupakan waktu komponen dari tanggal kemudian mempertimbangkan:
(EndDate.Date - StartDate.Date).Days
Lagi-lagi dengan asumsi StartDate dan EndDate tipe DateTime.
// Difference in days, hours, and minutes.
TimeSpan ts = EndDate - StartDate;
// Difference in days.
int differenceInDays = ts.Days; // This is in int
double differenceInDays= ts.TotalDays; // This is in double
// Difference in Hours.
int differenceInHours = ts.Hours; // This is in int
double differenceInHours= ts.TotalHours; // This is in double
// Difference in Minutes.
int differenceInMinutes = ts.Minutes; // This is in int
double differenceInMinutes= ts.TotalMinutes; // This is in double
Anda juga bisa mendapatkan perbedaan dalam hitungan detik, milidetik dan kutu.
Untuk pemula seperti saya yang akan tersandung ini masalah kecil, garis sederhana, dengan contoh konversi ke int:
int totalDays = Convert.ToInt32((DateTime.UtcNow.Date - myDateTime.Date).TotalDays);
Ini menghitung jumlah hari sejak hari ini (DateTime.UtcNow.Upload) ke tanggal yang diinginkan (myDateTime.Upload).
Jika myDateTime ini, kemarin, atau tanggal tua dari hari ini, ini akan memberikan positif (+) bilangan bulat hasilnya.
Di sisi lain, jika myDateTime besok atau di masa mendatang, ini akan memberikan negatif (-) bulat hasil karena aturan itu.
Happy coding! ^_^
Untuk a
dan b
dua DateTime
jenis:
DateTime d = DateTime.Now;
DateTime c = DateTime.Now;
c = d.AddDays(145);
string cc;
Console.WriteLine(d);
Console.WriteLine(c);
var t = (c - d).Days;
Console.WriteLine(t);
cc = Console.ReadLine();
Menggunakan jangka waktu yang akan memecahkan masalah seperti itu memiliki banyak atribut:
DateTime strt_date = DateTime.Now;
DateTime end_date = Convert.ToDateTime("10/1/2017 23:59:59");
//DateTime add_days = end_date.AddDays(1);
TimeSpan nod = (end_date - strt_date);
Console.WriteLine(strt_date + "" + end_date + "" + "" + nod.TotalHours + "");
Console.ReadKey();
Pertama mendeklarasikan sebuah kelas yang akan kembali nanti:
public void date()
{
Datetime startdate;
Datetime enddate;
Timespan remaindate;
startdate = DateTime.Parse(txtstartdate.Text).Date;
enddate = DateTime.Parse(txtenddate.Text).Date;
remaindate = enddate - startdate;
if (remaindate != null)
{
lblmsg.Text = "you have left with " + remaindate.TotalDays + "days.";
}
else
{
lblmsg.Text = "correct your code again.";
}
}
protected void btncal_Click(object sender, EventArgs e)
{
date();
}
Gunakan tombol kontrol untuk panggilan kelas atas. Berikut ini sebuah contoh:
Mendapatkan perbedaan antara dua tanggal dan kemudian mendapatkan hari dari:
int total_days = (EndDate - StartDate).TotalDays
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
DateTime d = Calendar1.SelectedDate;
// int a;
TextBox2.Text = d.ToShortDateString();
string s = Convert.ToDateTime(TextBox2.Text).ToShortDateString();
string s1 = Convert.ToDateTime(Label7.Text).ToShortDateString();
DateTime dt = Convert.ToDateTime(s).Date;
DateTime dt1 = Convert.ToDateTime(s1).Date;
if (dt <= dt1)
{
Response.Write("<script>alert(' Not a valid Date to extend warranty')</script>");
}
else
{
string diff = dt.Subtract(dt1).ToString();
Response.Write(diff);
Label18.Text = diff;
Session["diff"] = Label18.Text;
}
}