Aritmetik Tarikh
Tambah, tolak dan bandingkan.
Aritmetik Tarikh ialah pelajaran Akademi C# percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi C#, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Pengiraan dengan Tarikh
Nilai DateTime tidak boleh diubah: pengiraan tidak pernah mengubah nilai asal. Sebaliknya, setiap operasi mengembalikan DateTime baharu sepenuhnya.
Pelajaran ini merangkumi penambahan dan penolakan masa, perbandingan tarikh serta soalan seperti berapa hari lagi sebelum sesuatu acara.
AddDays
Kaedah AddDays mengembalikan tarikh yang lebih lewat sebanyak bilangan hari tersebut. Berikan nombor negatif untuk bergerak ke belakang.
Oleh sebab DateTime tidak boleh diubah, Anda mesti menggunakan nilai yang dikembalikan; nilai asal kekal tidak berubah.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
DateTime later = d.AddDays(10);
Console.WriteLine(later.ToString("yyyy-MM-dd"));
}
}Keluarga Add
Terdapat kaedah Add untuk setiap unit: AddHours, AddMinutes, AddSeconds, AddMonths dan AddYears.
Kesemuanya menerima nombor positif atau negatif, jadi satu kumpulan kaedah boleh mengendalikan masa hadapan dan masa lalu.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
Console.WriteLine(d.AddHours(5).Hour);
}
}AddMonths Mengendalikan Limpahan
AddMonths mengendalikan panjang bulan dengan bijak. Menambah satu bulan pada 31 Januari menghasilkan 28 atau 29 Februari, bukan tarikh yang tidak sah.
Ini mengelakkan Anda daripada perlu menyemak secara manual bilangan hari dalam setiap bulan.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 1, 31);
Console.WriteLine(d.AddMonths(1).ToString("yyyy-MM-dd"));
}
}Bergerak ke Belakang
Untuk bergerak ke masa lalu, berikan argumen negatif. AddDays(-7) memberikan tarikh seminggu lebih awal.
Tiada kaedah berasingan untuk menolak hari; nilai negatif mengendalikannya dengan kemas.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5);
Console.WriteLine(d.AddDays(-7).ToString("yyyy-MM-dd"));
}
}Menambah TimeSpan
Anda boleh menambah TimeSpan terus kepada DateTime dengan operator +, atau dengan kaedah Add.
Ini mudah apabila Anda sudah mempunyai suatu tempoh dan mahu mengalih tarikh sebanyak tempoh tersebut.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
DateTime later = d + TimeSpan.FromHours(3);
Console.WriteLine(later.Hour);
}
}Perbezaan antara Tarikh
Menolak satu tarikh daripada tarikh yang lain menghasilkan TimeSpan yang menerangkan jarak antara kedua-duanya.
Baca TotalDays untuk mengira bilangan hari antara kedua-duanya, termasuk merentas bulan atau tahun.
using System;
class Program
{
static void Main()
{
DateTime start = new DateTime(2024, 1, 1);
DateTime end = new DateTime(2024, 3, 1);
Console.WriteLine((end - start).TotalDays);
}
}Bilangan Hari sehingga Acara
Tugas yang biasa dilakukan ialah mengira bilangan hari sehingga tarikh pada masa hadapan. Tolak hari ini daripada tarikh sasaran, kemudian baca TotalDays atau Days.
Penggunaan tarikh tetap di sini memastikan hasilnya boleh dijangka semasa pembelajaran.
using System;
class Program
{
static void Main()
{
DateTime today = new DateTime(2024, 3, 1);
DateTime party = new DateTime(2024, 3, 15);
Console.WriteLine((party - today).Days);
}
}Membandingkan Tarikh
Nilai DateTime boleh dibandingkan dengan <, > dan ==. Tarikh yang lebih awal adalah lebih kecil daripada tarikh yang lebih lewat.
Terdapat juga kaedah seperti CompareTo dan Equals apabila Anda memerlukan hasil perbandingan formal.
using System;
class Program
{
static void Main()
{
DateTime a = new DateTime(2024, 1, 1);
DateTime b = new DateTime(2024, 6, 1);
Console.WriteLine(a < b);
}
}Tahun Lompat dan Hari dalam Bulan
Dua kaedah pembantu statik boleh menjawab soalan tentang kalendar. DateTime.IsLeapYear(year) mengembalikan true untuk tahun lompat.
DateTime.DaysInMonth(year, month) memberitahu bilangan hari dalam bulan tertentu dan mengendalikan Februari dengan betul.
using System;
class Program
{
static void Main()
{
Console.WriteLine(DateTime.IsLeapYear(2024));
Console.WriteLine(DateTime.DaysInMonth(2024, 2));
}
}Permulaan dan Penghujung Hari
Untuk mendapatkan permulaan hari, gunakan sifat Date, yang membuang bahagian masa hingga menjadi tengah malam.
Untuk saat terakhir hari itu, tambahkan satu hari dan tolak satu unit masa terkecil, atau tambahkan 23:59:59. Sifat Date ialah asas pembinaan yang paling mudah.
using System;
class Program
{
static void Main()
{
DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
Console.WriteLine(d.Date.ToString("yyyy-MM-dd HH:mm"));
}
}Semakan Pantas
Anda bermula dengan 31 Januari 2024 dan memanggil AddMonths(1). Tarikh apakah yang Anda dapat?
Ringkasan
Pengiraan DateTime mengembalikan nilai baharu. Alihkan tarikh dengan AddDays, AddMonths dan kaedah yang seumpamanya, menggunakan nilai negatif untuk bergerak ke belakang.
Tolak tarikh untuk mendapatkan TimeSpan, bandingkan dengan operator, dan gunakan IsLeapYear, DaysInMonth serta Date untuk tugas kalendar.
Pelajari C# dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Soalan Lazim
Adakah pelajaran “Aritmetik Tarikh” percuma?
Ya — teks penuh “Aritmetik Tarikh” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Akademi C#, tingkat taraf kepada CoddyKit PRO. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Aritmetik Tarikh”?
Tambah, tolak dan bandingkan. Anda berlatih Akademi C# menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi C#?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi C# di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Aritmetik Tarikh” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi C# ini?
Ya. Setiap pelajaran Akademi C# menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Mencipta DateTimes
- Memformat Tarikh
- TimeSpan dan Tempoh
- Aritmetik Tarikh