如何从C#中的文本框中获取日值?
例如,如果文本框包含2016年11月11日或2016年5月1日如何从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.
如何仅获取日值?实例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日。无论如何,这几乎太容易被问到了