Menghitung perbedaan antara dua tanggal (jumlah hari)?

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#?

Mengomentari pertanyaan (2)
Larutan

Dengan asumsi StartDate dan EndDate tipe DateTime:

(EndDate - StartDate).TotalDays
Komentar (11)

Gunakan Waktu objek yang merupakan hasil dari upload substraction:

DateTime d1;
DateTime d2;
return (d1 - d2).TotalDays;
Komentar (2)

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.

Komentar (5)

Saya pikir ini akan melakukan apa yang anda inginkan:

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);

TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
Komentar (0)
DateTime xmas = new DateTime(2009, 12, 25);
double daysUntilChristmas = xmas.Subtract(DateTime.Today).TotalDays;
Komentar (3)

Dalam kasus seseorang ingin numer seluruh hari-hari sebagai ganda (a, b tipe DateTime):

 (a.Date - b.Date).TotalDays
Komentar (1)
// 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.

Komentar (0)

Anda dapat mencoba ini

EndDate.Date.Subtract(DateTime.Now.Date).Days
Komentar (1)

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! ^_^

Komentar (0)

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();
Komentar (0)

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();
Komentar (0)

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:

Komentar (0)

Mendapatkan perbedaan antara dua tanggal dan kemudian mendapatkan hari dari:

int total_days = (EndDate - StartDate).TotalDays
Komentar (2)

Anda dapat menggunakan kode di bawah ini:

 int DateDifInSecond = EndDate.Subtract(StartDate).TotalSeconds
Komentar (0)

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 
Komentar (1)