非常に奇妙です。
DateTime a = DateTime.Parse("5/26/2011");
Response.Write(a.ToShortDateString());
このコードはlocalhostで正常に動作します。ホスト上の
しかししかししかし
はエラーを言う:
文字列は有効な日時として認識されませんでした。あなたはDateTime.ParseExact()
を使用する必要があり、このsite
非常に奇妙です。
DateTime a = DateTime.Parse("5/26/2011");
Response.Write(a.ToShortDateString());
このコードはlocalhostで正常に動作します。ホスト上の
しかししかししかし
はエラーを言う:
文字列は有効な日時として認識されませんでした。あなたはDateTime.ParseExact()
を使用する必要があり、このsite
で
、それはあなたがあなたの文化や形式を指定することができます。ここで
はInvariantCultureを使った例です:
DateTime dateTime = DateTime.ParseExact("5/26/2011",
"MM/dd/yyyy",
CultureInfo.InvariantCulture);
そしてここでは、具体的en-US
を使用しています一つだ:
DateTime dateTime = DateTime.ParseExact("5/26/2011",
"MM/dd/yyyy",
CultureInfo.CreateSpecificCulture("en-US"));
はthe MSDN docsを見てみましょう。
何故?????????? – ddddddd
@ddddddd:実際に文書を読んだことはありますか? –
+1:私は、フォーマットを指定することは、常に*常に*良い考えだと思います。 –
これは文化依存のエラーです。ただ、parse方法に右の文化を渡す:
DateTime a = DateTime.Parse("5/26/2011", CultureInfo.CreateSpecificCulture("en-US"));
だけでウエッとSorantisのコメントあらためて表明する:
static void Main(string[] args)
{
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
try
{
DateTime.Parse("5/26/2011", ci);
Console.WriteLine(String.Format("Able to parse with {0} CultureInfo object.", ci));
}
catch
{
Console.WriteLine(String.Format("Unable to parse with {0} CultureInfo object.", ci));
}
}
Console.ReadLine();
}
をウェブサイトのサーバー用に設定文化は何ですか? – Yuck
これはサーバーの別のロケールで、指定されたフォーマット – Sorantis
をWebからの収入から確かめることができないため、 "day"、 "month"、 "year"を特定してから、このコンストラクタhttp:// msdn Microsoft.com/es-es/library/xcfzdy4x.aspx –