פרסום תאריך ממחרוזת

C#:
פרסום תאריך ממחרוזת

איך לעשות:

ניתוח בסיסי:

המתודות DateTime.Parse וDateTime.TryParse הן האפשרויות העיקריות להמיר מחרוזת לDateTime. הנה דוגמה מהירה:

string dateString = "2023-04-12";
DateTime parsedDate;

if (DateTime.TryParse(dateString, out parsedDate))
{
    Console.WriteLine($"הניתוח הצליח: {parsedDate}");
}
else
{
    Console.WriteLine("נכשל בניתוח.");
}
// Output: הניתוח הצליח: 4/12/2023 12:00:00 AM

ציון תרבות:

לעיתים, יש צורך לנתח מחרוזת תאריך שנמצאת בפורמט תרבותי מסוים. ניתן להשיג זאת באמצעות המחלקה CultureInfo:

using System.Globalization;

string dateString = "12 avril 2023";
var cultureInfo = new CultureInfo("fr-FR");
DateTime parsedDate = DateTime.Parse(dateString, cultureInfo);

Console.WriteLine(parsedDate);
// Output: 4/12/2023 12:00:00 AM

ניתוח מדויק עם פורמט מסוים:

לסצנריות שבהן התאריכים מגיעים בפורמט מסוים שעלול שלא להיות סטנדרטי, DateTime.ParseExact יכול לעזור:

string dateString = "Wednesday, 12 April 2023";
string format = "dddd, d MMMM yyyy";
DateTime parsedDate = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);

Console.WriteLine(parsedDate);
// Output: 4/12/2023 12:00:00 AM

שימוש ב-NodaTime:

לניתוח תאריכים וזמנים עוד יותר חזק, שקול להשתמש בספרייה הפופולרית מבית שלישי NodaTime. היא מספקת מגוון רחב יותר של יכולות טיפול בתאריכים/זמנים:

using NodaTime;
using NodaTime.Text;

var pattern = LocalDatePattern.CreateWithInvariantCulture("yyyy-MM-dd");
var parseResult = pattern.Parse("2023-04-12");

if (parseResult.Success)
{
    LocalDate localDate = parseResult.Value;
    Console.WriteLine(localDate); // 2023-04-12
}
else
{
    Console.WriteLine("נכשל בניתוח.");
}

NodaTime מציעה תמיכה נרחבת באזורי זמן, מושגי תקופה ומשך זמן, ומערכות לוח שנה שונות, הופכת אותה לבחירה עוצמתית למניפולציות מורכבות של תאריכים וזמנים ביישומי .NET.