这是有效的德国日期时间文化格式吗?

Is this a valid German Datetime Culture format?

所以我使用 API,其中以以下格式检索日期时间 DIE, 28. AUG 2018 12:38:38

我发现最接近的日期时间格式是 ddd, dd. MMM yyyy HH:mm:ss。 它仅在其 DI 时有效,但 API 将这一天提供为 DIE.

是否存在可以解析的格式DIE, 28. AUG 2018 12:38:38我相信这个API的开发者使用了一些不同的格式。

有人知道它可能是什么吗?

编辑:我试过的一些代码

static void Main(string[] args)
{
    const string DateTimeFormat = "ddd, dd. MMM yyyy HH:mm:ss";
    var deCultureInfo = new CultureInfo("de-DE");

    string input = "DIE, 28. AUG 2018 14:12:01";

    // both throws exception
    var timestamp1 = DateTime.ParseExact(input, DateTimeFormat, deCultureInfo);
    var timestamp2 = DateTime.Parse(input, deCultureInfo);


    //Console.WriteLine(DateTime.Now.ToString(deCultureInfo));

}

您可以在使用的 DateTimeFormatInfo:

的 属性 AbbreviatedDayNames 中覆盖 ddd
const string DateTimeFormat = "ddd, dd. MMM yyyy HH:mm:ss";
var deCultureInfo = new CultureInfo("de-DE");

var input = "DIE, 28. AUG 2018 14:12:01";

CultureInfo ci = CultureInfo.CreateSpecificCulture("de-DE");
DateTimeFormatInfo dtfi = ci.DateTimeFormat;

// addjust this to your german strings
dtfi.AbbreviatedDayNames = new[] { "SON", "MON", "DIE", "MIT", "DON", "FRE", "SAM" };

var timestamp1 = DateTime.ParseExact(input, DateTimeFormat, dtfi);

doku.

看到这个

只是提供另一种选择:只是不要

无论那部分是什么,都是多余的。 2018 年 8 月 28 日不可能是其他任何一天。那里的信息对计算机没有价值。该格式适用于人类,他们不能在几个 CPU 周期内 "look that up"。

不解析 input,只解析 input.Split(",").Last().Trim()。此 API 显然不是由专家编写的,也不打算供另一台计算机使用(德语日期格式,工作日,错误的 工作日格式)。这似乎是一个显示给产品最终用户的字符串。考虑到它随时都有破坏更改的风险,它可能是任何用户在特定时间 "like best"。