C# 检查正确的日期格式是否会导致问题?
我有一个检查字符串是否为日期格式的代码。 如果它是一个日期格式,我会用正确的日期格式写它,其他方式将它作为传入字符串 我的常规日期字符串格式是C# 检查正确的日期格式是否会导致问题?,c#,C#,我有一个检查字符串是否为日期格式的代码。 如果它是一个日期格式,我会用正确的日期格式写它,其他方式将它作为传入字符串 我的常规日期字符串格式是 2016-08-08T18:30:00.000Z //if string is in this format only it should go inside if case. namespace ConsoleApplication3 { class Program { static v
2016-08-08T18:30:00.000Z //if string is in this format only it should go inside if case.
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
var answerString = "11,10";
DateTime dDate;
if (DateTime.TryParse(answerString, out dDate))
{
var date = DateTime.Parse(answerString);
// var indianTime = CovertToDefaultTimeZone(date);
answerString = date.ToString("dd/MM/yyyy");
Console.WriteLine(answerString);
Console.ReadLine();
}
Console.WriteLine(answerString);
Console.ReadLine();
}
}
}
我该怎么办
if (DateTime.TryParseExact(answerString,"yyyy-MM-ddTHH:mm:ss.fffZ",CultureInfo.InvariantCulture,DateTimeStyles.None,out dDate))
{
//var date = DateTime.Parse(answerString); no need to parse again parsed date is in dDate
// var indianTime = CovertToDefaultTimeZone(date);
answerString = dDate.ToString("dd/MM/yyyy");
Console.WriteLine(answerString);
Console.ReadLine();
}
使用TryParseExact
方法
使用
TryParseExact
方法。您可以像这样使用DateTime.TryParseExact
DateTime result;
var formatString = "yyyy-MM-ddTHH\\:mm\\:ss.fffZ";
var isValidDate = DateTime.TryParseExact("2016-08-08T18:30:00.000Z", formatString, CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
您可以像这样使用
DateTime.TryParseExact
DateTime result;
var formatString = "yyyy-MM-ddTHH\\:mm\\:ss.fffZ";
var isValidDate = DateTime.TryParseExact("2016-08-08T18:30:00.000Z", formatString, CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
使用TryPars()e而不是Parse()。您的实际问题是什么?听起来您想使用并传入与所需格式对应的格式字符串。使用TryPars()e而不是Parse())。您的实际问题是什么?听起来您想使用并传入与所需格式相对应的格式字符串。请在try parse exact methodbefore if case?中的try parse exact method中更改日期fomat。检查修改后的代码。为什么tryparse精确?tryparse和trypareexact之间的差异是什么。TryParseExact帮助您为日期字符串指定精确的日期格式。特里帕斯没有这个设施。这有助于使代码独立于执行环境,因为TryParse在不同的执行环境中需要不同的日期字符串try parse exact methodbefore if case?in try parse exact method中的sange date fomat。检查修改后的代码。为什么tryparse精确?tryparse和trypareexact之间的差异是什么。TryParseExact帮助您为日期字符串指定精确的日期格式。特里帕斯没有这个设施。这有助于使代码独立于执行环境,因为TryParse在不同的执行环境中需要不同的日期字符串。如果可以,我可以使用TryParse而不是TryParse-exact吗?@Vispriya-TryParseExact检查字符串是否与格式strint完全匹配。TryParse处理表示日期时间的多个字符串变量。正如你在文章中所说,你想检查一个特定的格式;因此,TryParseExact是否适用于此用例。它起作用了,我可以使用tryparse而不是tryparse-exact吗?@Vispriya-TryParseExact检查字符串是否与格式strint完全匹配。TryParse处理表示日期时间的多个字符串变量。正如你在文章中所说,你想检查一个特定的格式;因此,TryParseExact是否适合此用例。