【问题标题】:How to get the day value out of a textbox in C#?如何从 C# 中的文本框中获取日期值?
【发布时间】:2016-08-10 17:09:35
【问题描述】:

例如,如果文本框包含 11/11/2016 或 01/05/2016 如何仅获取日值?例子。 11 或 01

【问题讨论】:

  • 将字符串转换为DateTime 并引用该对象的.Day 属性?
  • 这绝对不是那么难,除了发布这个问题之外,您还尝试过什么..?您是否尝试过简单的谷歌搜索或研究过 DateTime 结构..?
  • 01/05/2016 是指 1 月 5 日还是 5 月 1 日?
  • @StingyJack 他已经将结果发布为 01。所以那是 5 月 1 日。
  • 不管怎样,这个问题太容易被问到了

标签: c# asp.net visual-studio


【解决方案1】:

一种方法是使用精确格式将 TextBox 中的字符串解析为 DateTime。然后使用DateTime对象,可以提取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
}

【讨论】:

    【解决方案2】:
    string myString = textbox1.text; 
    
    DateTime day = DateTime.ParseExact(myString, "dd/MM/yyyy", CultureInfo.InvariantCulture);
    
    int day = birthday.Day;  
    

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多