この「1110620」がどのタイプの日付形式であるかを教えてくれる人はいますか? これを「yyyy-MM-dd」形式に変換するにはどうすればよいですか。どんな助けでも大歓迎です。ありがとう!
4 に答える
2
DateTime d;
if (DateTime.TryParse("1110620", CultureInfo.InvariantCulture, DateTimeStyles.None, out d))
string r = d.ToString("yyyy-MM-dd");
else
throw new Exception();
于 2011-11-29T08:22:26.620 に答える
1
これはうまくいくはずです:
string dt = "1110620";
DateTime dt = DateTime.ParseExact(dt, "yyyMMdd",
CultureInfo.CultureInvariant);
または試すことができます(エレガントではありませんが機能します)
int start = dt.Length - 4;
DateTime d = new DateTime(
int.Parse(dt.Substring(0, start)),
int.Parse(dt.Substring(start, 2)),
int.Parse(dt.Substring(2 + start, 2)));
于 2011-11-29T08:18:26.773 に答える
0
上記の形式は - yyyMMdd のようです。それに応じて変換するC#メソッドを書くことができます。詳細については、 MSDNを参照してください。
于 2011-11-29T08:17:38.203 に答える
0
私の推測では、最初の 3 桁は 2 桁の年の延長です。100 は 2000 年に対応します。
したがって、形式は元々yyMMdd
、またはおそらく(year-1900)*10000+month*100+day
、接頭辞を付けることで2000年以降の年に論理的に拡張されていました1
。これにより、整数の並べ替え順序も保持されます。
したがって、それを解析するには、次のことができます。
day=input%100;
month=input/100%100;
year=input/10000+1900;
この式1110620
で対応する2011-06-20
ただし、例が何を意味するかを説明しない限り、これは単なる憶測です。
私の最初の推測では、特定の日付から数日経過している可能性がありますが、これは起源を紀元前 1000 年頃に置くことになり、これはありそうもありません。
于 2011-11-29T12:31:17.597 に答える