【问题标题】:Calendar Extender date picking and converting into correct formatCalendar Extender 日期选择并转换为正确的格式
【发布时间】:2013-04-05 07:53:24
【问题描述】:

我正在从 textbox 中的 calender 扩展器中选择值,并且我正在获取格式为 {"MM/dd/yyyy"} 的值,但我想要格式为 {"dd/MM/yyyy"} 的值另一个文本框 (txt_actualrightformat.Text) 代码如下所示

DateTime wrongformat = DateTime.Parse(TextBox4.Text);
String rightformat = String.Format("{0:dd/MM/yyyy}", wrongformat.Date);
txt_actualrightformat.Text = rightformat.ToString();

【问题讨论】:

    标签: c# asp.net calendarextender


    【解决方案1】:

    DateTime 与格式无关,格式仅用于显示目的。如果您在wrongformat 中没有得到正确的日期,那么您可以使用DateTime.ParseExact 的格式。然后简单地

    txt_actualrightformat.Text = wrongformat.ToString("dd/MM/yyyy");
    

    编辑:

    使用DateTime.ParseExcat 喜欢:

    DateTime dt = DateTime.ParseExact(TextBox4.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
    txt_actualrightformat = dt.ToString("dd/MM/yyyy");
    

    【讨论】:

    • 我仍然收到一个错误,因为方法 'ParseExact' 没有重载需要 1 个参数。日期时间错误格式 = DateTime.ParseExact(TextBox3.Text); txt_actualrightformat.Text = wrongformat.ToString("dd/MM/yyyy");
    • @Ashish,DateTime.ParseExact,以格式和文化信息为参数,检查答案的编辑部分
    【解决方案2】:

    试试这些

    DateTime wrongformat = DateTime.Parse(TextBox4.Text);
    
    txt_actualrightformat.Text =wrongformat.ToString("dd'/'MM'/'yyyy");
    

     txt_actualrightformat.Text =String.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", _wrongformat )
    

    更新:

    我认为 TextBox4 中的日期格式确实错误 :-)
    注意 "22/3/2013" 匹配格式 "d/M/yyyy"不匹配格式 "dd/MM/yyyy "。 - 对于 "dd/MM/yyyy",它应该是 "22/03/2013"

    DateTime dt;
    
    if(DateTime.TryParseExact(TextBox4.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture,
                               DateTimeStyles.None, out td))
    {
      // Valid date used in `TextBox4` (NOTE : dd/MM/yyyy)!, you can use dt now as i explained above!.:-)
    }
    

    【讨论】:

    • 此代码不起作用,我仍然在 {"MM/dd/yyyy"} 中获取日期
    • 你在 TextBox4 中输入了什么,你在错误格式中输入了什么
    【解决方案3】:

    在解析或转换任何日期时间值之前,请检查日历的日期格式。在您的 aspx 页面上,转到 calendarExtender 并转到其属性,然后找到格式并将格式设置为 dd/MM/yyyy 和今天的日期格式也这样做。然后从后面的代码中声明一个日期时间类型的变量,并简单地传递 calendarExtender 放置日期的文本框值并将文本框值转换为日期时间。代码会像 公共日期时间日期{get;set;}

    日期 = Convert.ToDateTime(txtDate.Text.ToString()); 在 sql server 中,该值将保存为“2016-02-09 00:00:00.000”这种格式

    【讨论】:

    • 你确定有sql server ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多