将asp:textbox / textmode中的日期从yyyy-mm-dd转换为dd-mm-yyyy?

时间:2014-04-14 19:49:15

标签: c# asp.net sql date

我无法尝试从文本框传递某种日期格式。

在asp中,文本框允许您将文本模式更改为日期。

这样做会给你一个漂亮的小日历弹出窗口。我唯一的问题是它放入的格式是yyyy-mm-dd,我想将它改为dd-mm-yyyy,以便我可以将它传递给sql字符串

是否有可能这样做。

非常感谢

2 个答案:

答案 0 :(得分:3)

您可以在插入时在服务器端转换它。

DateTime theDate=DateTime.ParseExact(TextBox1.Text, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
string dateToInsert=theDate.ToString("dd-MM-yyyy");

我相信它只是使用" date"的HTML5输入。将ASP TextBoxMode设置为date时键入。因此,格式真的取决于客户端。这不好,因为我们不知道客户可能使用的日期格式!

更好的解决方案是使用类似jQuery UI DatePicker的内容。无论客户端是什么,这都可以让您更好地控制使用的内容。

<script>
  $(function() {
    $( "#datepicker" ).datepicker({dateFormat: "dd-mm-yyyy"});
  });
  </script>

<asp:TextBox runat="server" id="datepicker" ClientIDMode="Static" />

答案 1 :(得分:0)

我使用了Ajaxtoolkit日历,因此我使用的代码非常简单且非常灵活

<asp:TextBox ID="tb_search_date" runat="server" /> <ajaxToolkit:CalendarExtender ID="CalendarExtender1" TargetControlID="tb_search_date" Format="dd-MM-yyyy" runat="server" OnClientShown="DisableWeekends </ajaxToolkit:CalendarExtender>

您可以将格式框中的“ - ”替换为您喜欢的任何内容,并将日期重新格式化为该格式。

这是一个网站

http://www.asp.net/ajaxlibrary/ajaxcontroltoolkitsamplesite/calendar/calendar.aspx