我的问题:我想将德语日期“ 24.05.05”转换为UTC格式“ 2005-05-24”。在德语日期格式“ 24.05.05”中,最后两位数字是2005年。
这是我的无效代码:
var lGermanDate = "24.05.05";
DateTime lOutDateTime;
CultureInfo lCultureInfo = new CultureInfo("de-de");
// expecting result to fail
if (DateTime.TryParseExact(lGermanDate, lCultureInfo.DateTimeFormat.ShortDatePattern, lCultureInfo, DateTimeStyles.None, out lOutDateTime))
{
var lTargetDate = lOutDateTime.ToString("yyyy-m-d");
}
else
{
[...]
}
注意:在PHP中,它可以与以下代码一起使用:
\DateTime::createFromFormat('d.m.y', $lGermanDate )->format('Y-m-d');
答案 0 :(得分:1)
您尝试过以下吗?
//To Convert lGermanDate into DateTime
string DATEPATTERN = "dd.MM.yy";
DateTime.TryParseExact(lGermanDate, DATEPATTERN, null, DateTimeStyles.None, out DateTime outGermanDate);
//From outGermanDate to UTC Format
string dateUTC = outGermanDate.ToString("yyyy-MM-dd")
答案 1 :(得分:1)
您的解析很好,也许有点太具体了
m是分钟,是DateTime.ToString()模式,M是月
var germanDateStr = "24.05.05";
if (DateTime.TryParse(germanDateStr, out DateTime outDateTime))
{
var targetDate = outDateTime.ToString("yyyy-M-d");
targetDate.Dump();
}
else
{
}