C# 与.NET约会的最佳方式?
我从我的页面中得到一个字符串,我想确定它是一个日期。这就是我到目前为止所做的(它是有效的),我只是想知道这是否是最好的方法。我正在使用.NET4C# 与.NET约会的最佳方式?,c#,asp.net,parsing,date,C#,Asp.net,Parsing,Date,我从我的页面中得到一个字符串,我想确定它是一个日期。这就是我到目前为止所做的(它是有效的),我只是想知道这是否是最好的方法。我正在使用.NET4 int TheMonth =0; int TheDay = 0; int TheYear = 0; DateTime NewDate; var TheIncomingParam = Request.Params.Get("__EVENTARGUMENT").ToString(); char[] TheBreak = { '/' }; string[
int TheMonth =0;
int TheDay = 0;
int TheYear = 0;
DateTime NewDate;
var TheIncomingParam = Request.Params.Get("__EVENTARGUMENT").ToString();
char[] TheBreak = { '/' };
string[] TheOutput = TheIncomingParam.Split(TheBreak);
try { TheMonth = Convert.ToInt32(TheOutput[0]); }
catch { }
try { TheDay = Convert.ToInt32(TheOutput[1]); }
catch { }
try { TheYear = Convert.ToInt32(TheOutput[2]); }
catch { }
if (TheMonth!=0 && TheDay!=0 && TheYear!=0)
{
try { NewDate = new DateTime(TheYear, TheMonth, TheDay); }
catch { var NoDate = true; }
}
使用
DateTime
结构上定义的Parse
方法之一
如果字符串不可解析,这些方法将引发异常,因此您可能希望改用其中一种方法(不太漂亮-它们需要out参数,但更安全):
如果您知道传入日期的确切格式,您可以尝试使用ParseExact
或TryParseExact
,在尝试解析日期字符串时使用日期和时间格式字符串(或)。和如何
第一个使用当前的文化日期格式。.NET为我们提供了一个
datetime.parse
和一个datetime.tryparse
这两种方法都是从字符串中解析日期的好方法我只需要对输入字符串进行三次方括号:
private bool ParseDateString()
{
var theIncomingParam = Request.Params.Get("__EVENTARGUMENT").ToString();
DateTime myDate;
if (DateTime.TryParse(theIncomingParam, CultureInfo.InvariantCulture, DateTimeStyles.None, out myDate))
{
int TheMonth = myDate.Month;
int TheDay = myDate.Day;
int TheYear = myDate.Year;
// TODO: further processing of the values just read
return true;
}
else
{
return false;
}
}
有一个好的搭讪路线。你用的是什么版本的asp.net?先约她出去。1:要有吸引力。2:不要表现得不吸引人。3:有钱。@T.E.D.或者,也许不是,哈哈。他可能会因为这个头衔而得到更多的关注;-)啊!!它已经内置到框架中了!谢谢顺便说一句,我让我的页面工作:我让它与_udopostback一起工作,而不是用页面方法发送参数。@frenchie-很高兴听到你对它进行了排序。。。BCL有很多这样的好东西。花些时间阅读MSDN上的文档,你永远不知道你会发现什么。是的,有很多内置的东西可以帮助你,但前提是你知道它首先存在。前几天我发现了扩展方法,这些方法太棒了!!
private bool ParseDateString()
{
var theIncomingParam = Request.Params.Get("__EVENTARGUMENT").ToString();
DateTime myDate;
if (DateTime.TryParse(theIncomingParam, CultureInfo.InvariantCulture, DateTimeStyles.None, out myDate))
{
int TheMonth = myDate.Month;
int TheDay = myDate.Day;
int TheYear = myDate.Year;
// TODO: further processing of the values just read
return true;
}
else
{
return false;
}
}