C# Academy · บทเรียน

สร้าง DateTimes

Now, Today และวันที่เฉพาะ

บทเรียน 1 จาก 413 ขั้นตอน

สร้าง DateTimes เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

ทำความรู้จัก DateTime

ในภาษา C# โครงสร้าง DateTime ใช้แทนช่วงเวลาหนึ่ง ซึ่งประกอบด้วยทั้งวันที่และเวลาของวัน

โครงสร้างนี้อยู่ในเนมสเปซ System จึงพร้อมใช้งานในทุกโปรแกรม สามารถใช้กับวันเกิด การประทับเวลา กำหนดส่งงาน และอื่น ๆ

ค่า DateTime เก็บข้อมูลปี เดือน วัน ชั่วโมง นาที วินาที และแม้แต่เศษส่วนของวินาที

DateTime.Now

วิธีที่ง่ายที่สุดในการรับวันที่และเวลาปัจจุบันคือ DateTime.Now ซึ่งอ่านนาฬิกาท้องถิ่นของคอมพิวเตอร์

ทุกครั้งที่เรียกใช้ จะได้รับภาพบันทึกช่วงเวลา ณ ขณะนั้นใหม่ เนื่องจากผลลัพธ์ขึ้นอยู่กับเวลาที่เรียกใช้ ค่าที่แสดงจึงเปลี่ยนไปทุกครั้ง

using System;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        Console.WriteLine(now);
    }
}

วันที่วันนี้

หากสนใจเฉพาะวันที่โดยไม่สนใจเวลา ให้ใช้ DateTime.Today ซึ่งคืนค่าเที่ยงคืน (00:00:00) ของวันปัจจุบัน

วิธีนี้มีประโยชน์เมื่อเปรียบเทียบวันต่าง ๆ เนื่องจากส่วนเวลาจะถูกกำหนดเป็นศูนย์

using System;

class Program
{
    static void Main()
    {
        DateTime today = DateTime.Today;
        Console.WriteLine(today.Year);
    }
}

เวลา UTC

คอมพิวเตอร์ทั่วโลกใช้ UTC (เวลาสากลเชิงพิกัด) ร่วมกัน ใช้ DateTime.UtcNow เพื่อรับเวลาปัจจุบันใน UTC โดยไม่ขึ้นกับเขตเวลาท้องถิ่น

UTC เป็นตัวเลือกที่ปลอดภัยสำหรับเซิร์ฟเวอร์และการจัดเก็บประทับเวลาที่ผู้ใช้จากหลายภูมิภาคจะอ่าน

using System;

class Program
{
    static void Main()
    {
        DateTime utc = DateTime.UtcNow;
        Console.WriteLine(utc.Kind);
    }
}

การสร้างวันที่ที่กำหนด

หากต้องการสร้างวันที่ที่แน่นอน ให้ใช้ตัวสร้าง new DateTime(year, month, day) ส่วนเวลาจะมีค่าเริ่มต้นเป็นเที่ยงคืน

วิธีนี้เหมาะอย่างยิ่งกับวันที่ตายตัว เช่น วันหยุดหรือวันเปิดตัว เนื่องจากค่าไม่เปลี่ยนแปลง ผลลัพธ์จึงคาดเดาได้ทั้งหมด

using System;

class Program
{
    static void Main()
    {
        DateTime launch = new DateTime(2024, 1, 15);
        Console.WriteLine(launch.ToString("yyyy-MM-dd"));
    }
}

การเพิ่มเวลาของวัน

ตัวสร้างรูปแบบยาวช่วยให้กำหนดชั่วโมง นาที และวินาทีได้: new DateTime(year, month, day, hour, minute, second)

ชั่วโมงใช้ระบบ 24 ชั่วโมง ดังนั้น 14 จึงหมายถึง 2 PM วิธีนี้ให้ค่าประทับเวลาที่ครบถ้วนถึงระดับวินาที

using System;

class Program
{
    static void Main()
    {
        DateTime meeting = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(meeting);
    }
}

การอ่านส่วนต่าง ๆ

เมื่อมี DateTime แล้ว สามารถอ่านแต่ละส่วนผ่านคุณสมบัติ ได้แก่ Year, Month, Day, Hour, Minute และ Second

คุณสมบัติเหล่านี้คืนค่าจำนวนเต็มทั่วไป จึงนำไปแสดงผลหรือเปรียบเทียบได้ง่าย

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.Month);
        Console.WriteLine(d.Hour);
    }
}

วันในสัปดาห์

คุณสมบัติ DayOfWeek บอกว่าวันที่นั้นตรงกับวันใดในสัปดาห์ โดยคืนค่าเป็นสมาชิกของ enum DayOfWeek เช่น Monday หรือ Saturday

นอกจากนี้ยังมี DayOfYear ซึ่งเป็นจำนวนเต็มตั้งแต่ 1 ถึง 366

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 1, 1);
        Console.WriteLine(d.DayOfWeek);
    }
}

ค่าต่ำสุดและค่าสูงสุด

DateTime มีค่าคงที่พิเศษสองค่า DateTime.MinValue คือวันที่ 1 มกราคม ค.ศ. 1 และ DateTime.MaxValue คือวันที่ 31 ธันวาคม ค.ศ. 9999

ค่าเหล่านี้มีประโยชน์ในฐานะค่าเริ่มต้นหรือค่าบ่งชี้พิเศษเมื่อยังไม่ได้กำหนดวันที่จริง

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(DateTime.MinValue);
        Console.WriteLine(DateTime.MaxValue.Year);
    }
}

การแยกวิเคราะห์สตริงวันที่

ข้อความจากผู้ใช้หรือไฟล์มักเก็บวันที่ไว้ DateTime.Parse จะแปลงสตริงให้เป็น DateTime

หากข้อความไม่ใช่วันที่ที่ถูกต้อง Parse จะทำให้เกิดข้อผิดพลาด หากต้องการจัดการอย่างปลอดภัยยิ่งขึ้น สามารถใช้ DateTime.TryParse ซึ่งคืนค่า true หรือ false แทนการทำให้โปรแกรมหยุดทำงาน

using System;

class Program
{
    static void Main()
    {
        DateTime d = DateTime.Parse("2024-07-04");
        Console.WriteLine(d.Year);
    }
}

การแยกวิเคราะห์อย่างปลอดภัยด้วย TryParse

DateTime.TryParse ช่วยหลีกเลี่ยงข้อยกเว้น โดยรับข้อความและตัวแปร out แล้วคืนค่า true เมื่อทำงานสำเร็จ

รูปแบบนี้เป็นวิธีที่แนะนำสำหรับจัดการข้อมูลป้อนเข้าที่ไม่แน่นอน เช่น ค่าที่ผู้ใช้พิมพ์

using System;

class Program
{
    static void Main()
    {
        bool ok = DateTime.TryParse("not a date", out DateTime result);
        Console.WriteLine(ok);
    }
}

ตรวจความเข้าใจ

ต้องการเฉพาะวันที่ปัจจุบันโดยไม่มีส่วนเวลา (เที่ยงคืน) ควรเรียกใช้คำสั่งใด

ทบทวน

ได้เรียนรู้วิธีสร้างค่า DateTime แล้ว ใช้ DateTime.Now สำหรับช่วงเวลาท้องถิ่นปัจจุบัน ใช้ DateTime.Today สำหรับเที่ยงคืนของวันนี้ และใช้ DateTime.UtcNow สำหรับเวลาสากล

สร้างวันที่ตายตัวด้วย new DateTime(...) อ่านส่วนต่าง ๆ ผ่าน Year, Month และ DayOfWeek แล้วแปลงข้อความด้วย Parse หรือ TryParse ที่ปลอดภัยกว่า

เริ่มต้นได้ฟรี

เรียนรู้ C# ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
93
บทเรียน
346

คำถามที่พบบ่อย

บทเรียน “สร้าง DateTimes” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สร้าง DateTimes” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สร้าง DateTimes”

Now, Today และวันที่เฉพาะ คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “สร้าง DateTimes” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สร้าง DateTimes
  2. จัดรูปแบบวันที่
  3. TimeSpan และระยะเวลา
  4. การคำนวณวันที่
← กลับไปที่ C# Academy