สร้าง DateTimes
Now, Today และวันที่เฉพาะ
สร้าง 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สร้าง DateTimes
- จัดรูปแบบวันที่
- TimeSpan และระยะเวลา
- การคำนวณวันที่