Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 模糊日期到绝对日期的代码?_C#_.net_Datetime_Date - Fatal编程技术网

C# 模糊日期到绝对日期的代码?

C# 模糊日期到绝对日期的代码?,c#,.net,datetime,date,C#,.net,Datetime,Date,我需要接收字符串并确定日期的代码。我编写了一个简单的15行函数来返回日期,假设它是相对的。那很容易。现在我需要输入一个字符串,比如“jan 17 09”“1/2/3”(是MM/DD/YY?还是DD/MM/YY,这里它表示前者)。我需要不明确的返回码或异常。我可以使用什么来解析这些绝对日期?日期格式在很大程度上取决于线程的当前区域性设置。如果您知道需要处理的特定区域性(您在对Leppie的回答的评论中提到了这一点),只需使用该函数将不明确的字符串转换为特定的绝对日期即可(使用指定的区域性) 例如:

我需要接收字符串并确定日期的代码。我编写了一个简单的15行函数来返回日期,假设它是相对的。那很容易。现在我需要输入一个字符串,比如“jan 17 09”“1/2/3”(是MM/DD/YY?还是DD/MM/YY,这里它表示前者)。我需要不明确的返回码或异常。我可以使用什么来解析这些绝对日期?

日期格式在很大程度上取决于线程的当前区域性设置。

如果您知道需要处理的特定区域性(您在对Leppie的回答的评论中提到了这一点),只需使用该函数将不明确的字符串转换为特定的绝对日期即可(使用指定的区域性)

例如:

string s1 = "jan 17 09";
string s2 = "1/2/3";
// Creates a specific culture, irrespective of the "local" culture,
// in this case, Japanese.
CultureInfo culture = CultureInfo.CreateSpecificCulture("ja-JP");
DateTime d1 = Convert.ToDateTime(s1, culture);
DateTime d2 = Convert.ToDateTime(s2, culture);
Console.WriteLine(d1.ToLongDateString());
Console.WriteLine(d2.ToLongDateString());

“不明确”是什么意思?返回码有一个特定的值(或值的范围)-因此,您可能是指“我不能计算出这个日期是什么”的特定值-但这并不含糊。当您说“我需要不明确的返回码”时,你的意思是说无歧义吗?我的意思是返回代码或关于歧义的异常。我需要将其作为用户设置的参数传入。但是我可以使用哪个库的什么函数?你可以使用
Thread.CurrentUICulture
来获取用户运行其操作系统时使用的任何文化。实际上,我在带有google ap的服务器上使用IMAPps用于检测电子邮件是否来自用户或其他方(将其视为在手机上写一封更新状态的电子邮件)-编辑-哦,这样我就可以使用.NET函数设置并使用DateTime.Parse。如果我能为客户端找出最佳文化信息,听起来不错。