Dates, Times, and Formatting
Parsing Dates
Parse fixed date strings with an explicit culture and pattern.
parsing
Parsing turns text into a date when the expected format is known.
Parsing Dates
ParsingDates.cs
Replay: real traced execution (multi-file project)
using System;
using System.Globalization;
class Program
{
static void Main()
{
string input = "2026-09-12";
DateTime parsed = DateTime.ParseExact(
input,
"yyyy-MM-dd",
CultureInfo.InvariantCulture
);
string weekday = parsed.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));
Console.WriteLine($"input={input}");
Console.WriteLine($"weekday={weekday}");
}
}
using System;
using System.Globalization;
class Program
{
static void Main()
{
string input = "2026-10-05";
DateTime parsed = DateTime.ParseExact(
input,
"yyyy-MM-dd",
CultureInfo.InvariantCulture
);
string weekday = parsed.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));
Console.WriteLine($"input={input}");
Console.WriteLine($"weekday={weekday}");
}
}
using System;
using System.Globalization;
class Program
{
static void Main()
{
string input = "2026-12-31";
DateTime parsed = DateTime.ParseExact(
input,
"yyyy-MM-dd",
CultureInfo.InvariantCulture
);
string weekday = parsed.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));
Console.WriteLine($"input={input}");
Console.WriteLine($"weekday={weekday}");
}
}
input ← 2026-09-12, parsed ← 09/12/2026 00:00:00, weekday ← Sat
5{6 static void Main()7 {8 string input→ 2026-09-12 = "2026-09-12"; //@input="2026-10-05", "2026-12-31"9 DateTime parsed→ 09/12/2026 00:00:00 = DateTime.ParseExact(10 input2026-09-12,11 "yyyy-MM-dd",12 CultureInfo.InvariantCulture13 );14 string weekday→ Sat = parsed09/12/2026 00:00:00.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));1516 Console.WriteLine($"input={input2026-09-12}");17 Console.WriteLine($"weekday={weekdaySat}");18 }outputinput=2026-09-12 weekday=Sat
input ← 2026-10-05, parsed ← 10/05/2026 00:00:00, weekday ← Mon
5{6 static void Main()7 {8 string input→ 2026-10-05 = "2026-10-05";9 DateTime parsed→ 10/05/2026 00:00:00 = DateTime.ParseExact(10 input2026-10-05,11 "yyyy-MM-dd",12 CultureInfo.InvariantCulture13 );14 string weekday→ Mon = parsed10/05/2026 00:00:00.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));1516 Console.WriteLine($"input={input2026-10-05}");17 Console.WriteLine($"weekday={weekdayMon}");18 }outputinput=2026-10-05 weekday=Mon
input ← 2026-12-31, parsed ← 12/31/2026 00:00:00, weekday ← Thu
5{6 static void Main()7 {8 string input→ 2026-12-31 = "2026-12-31";9 DateTime parsed→ 12/31/2026 00:00:00 = DateTime.ParseExact(10 input2026-12-31,11 "yyyy-MM-dd",12 CultureInfo.InvariantCulture13 );14 string weekday→ Thu = parsed12/31/2026 00:00:00.ToString("ddd", CultureInfo.GetCultureInfo("en-US"));1516 Console.WriteLine($"input={input2026-12-31}");17 Console.WriteLine($"weekday={weekdayThu}");18 }outputinput=2026-12-31 weekday=Thu