如何从C#中的文本框中获取日值?

如何从C#中的文本框中获取日值?,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,例如,如果文本框包含2016年11月11日或2016年5月1日 如何仅获取日值?实例11或01一种方法是使用精确格式将文本框中的字符串解析为DateTime。然后使用DateTime对象,可以提取Day属性: string myString = textbox1.text; DateTime day = DateTime.ParseExact(myString, "dd/MM/yyyy", CultureInfo.InvariantCulture); int day = birthday.

例如,如果文本框包含2016年11月11日或2016年5月1日
如何仅获取日值?实例11或01一种方法是使用精确格式将文本框中的字符串解析为DateTime。然后使用DateTime对象,可以提取
Day
属性:

string myString = textbox1.text; 

DateTime day = DateTime.ParseExact(myString, "dd/MM/yyyy", CultureInfo.InvariantCulture);

int day = birthday.Day;  
DateTime date;

bool success = DateTime.TryParseExact(textBoxDate.Text, "dd/MM/yyyy", 
                                      CultureInfo.CurrentCulture, 
                                      DateTimeStyles.AssumeLocal, out date);
int day;
if(success)
{
    day = date.Day; // 1
    // or string stringDay = date.ToString("dd"); to get 01
}
else
{
    // handle error
}
我不喜欢的另一种方法(不是100%安全的输入验证)是使用
String.Split
如下:

string strDay = textBoxDate.Text.Split('/').FirstOrDefault();
int day;
if(Int32.TryParse(strDay, out day))
{
    // success
}
else
{
    // Handle Error
}

将字符串转换为
DateTime
并引用该对象的
.Day
属性?这肯定没有那么困难。除了发布此问题,您还尝试了什么?你有没有尝试过简单的谷歌搜索或研究过DateTime结构?2016年5月1日是指1月5日还是5月1日?@StingyJack他已经将结果发布为01。所以那将是5月1日。无论如何,这几乎太容易被问到了