Datetime.TryParse 无法解析 yyyy/MM/dd 格式
Datetime.TryParse can't parse yyyy/MM/dd format
我目前正在尝试将格式中给出的日期转换为 yyyy/MM/dd
。
检查是否给出了有效日期。
if(!DateTime.TryParse(textBoxDatumVanStorting.Text, out Test2))
这是我目前正在使用的,但它总是给我一个错误的日期。
我已经考虑使用 DateTime.TryParseExact
。
但似乎无法让它发挥作用。
指定格式
考虑使用 DateTime.TryParseExact()
方法,它允许您明确定义字符串的格式 :
// This will attempt to parse your date in exactly the format provided
if(!DateTime.TryParseExact(textBoxDatumVanStorting.Text,"yyyy/MM/dd", null, DateTimeStyles.None, out Date2))
{
// Your date is not valid, consider doing something
}
文化问题
在上面的示例中,传入的第三个参数表示您希望用于解析日期的特定区域性/格式。使用 null
将默认为当前文化,但如果您需要明确指定这一点,您可以在此处使用不变文化来执行此操作:
Date output;
if(!DateTime.TryParseExact(input,"yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out output))
{
// Uh oh again...
}
如果DateTime.TryParse
不能解析你的字符串,这意味着这个yyyy/MM/dd
格式不是你的CurrentCulture
的标准日期格式.
您可以使用 DateTime.TryParseExact
和自定义格式,例如;
DateTime Test2;
if (DateTime.TryParseExact(textBoxDatumVanStorting.Text, "yyyy/MM/dd",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out Test2))
{
// Successfull parse
}
我目前正在尝试将格式中给出的日期转换为 yyyy/MM/dd
。
检查是否给出了有效日期。
if(!DateTime.TryParse(textBoxDatumVanStorting.Text, out Test2))
这是我目前正在使用的,但它总是给我一个错误的日期。
我已经考虑使用 DateTime.TryParseExact
。
但似乎无法让它发挥作用。
指定格式
考虑使用 DateTime.TryParseExact()
方法,它允许您明确定义字符串的格式 :
// This will attempt to parse your date in exactly the format provided
if(!DateTime.TryParseExact(textBoxDatumVanStorting.Text,"yyyy/MM/dd", null, DateTimeStyles.None, out Date2))
{
// Your date is not valid, consider doing something
}
文化问题
在上面的示例中,传入的第三个参数表示您希望用于解析日期的特定区域性/格式。使用 null
将默认为当前文化,但如果您需要明确指定这一点,您可以在此处使用不变文化来执行此操作:
Date output;
if(!DateTime.TryParseExact(input,"yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out output))
{
// Uh oh again...
}
如果DateTime.TryParse
不能解析你的字符串,这意味着这个yyyy/MM/dd
格式不是你的CurrentCulture
的标准日期格式.
您可以使用 DateTime.TryParseExact
和自定义格式,例如;
DateTime Test2;
if (DateTime.TryParseExact(textBoxDatumVanStorting.Text, "yyyy/MM/dd",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out Test2))
{
// Successfull parse
}