我正在使用文本模式设置为日期的文本框。我需要的是将日期格式安排到MM / dd / yyyy。我知道如果我使用DateTime.Now,它获取今天的日期,但我无法获得值用户的选择日期,如果我这样做,因为有错误:
string dateOfBirth = DateTime.ToString("MM/dd/yyyy");
我是这样做的:
string tmpDateOfBirth = tb_date.Text;
//This below line returns todays date and not the date that the user pick on the calendar.
string dateOfBirth = DateTime.Now.ToString("MM/dd/yyyy");
答案 0 :(得分:2)
您正在使用今天的日期并对其进行格式化...您需要格式化文本框中输入的内容。
string dateOfBirth = tb_date.Text.ToString("MM/dd/yyyy");
编辑:如果你得到'最佳重载匹配错误'
string dateOfBirth = Convert.ToDateTime(tb_date.Text).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
答案 1 :(得分:1)
好的,我假设你的TextBox1.Text包含有效的日期值。所以下面的代码可能对你有帮助。
string dateOfBirth = Convert.ToDateTime(TextBox1.Text).ToString("MM/dd/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo);
答案 2 :(得分:0)
用户如何选择日期? 如果您有DateTimePicker对象,则只需键入
即可string dateOfBirth = MyDateTimePicker.Value.ToString("MM/dd/yyyy");
修改强>
文本框并不意味着保留datetime
个对象。如果您需要这样做,则必须解析其文本:
DateTime dt = DateTime.ParseExact("TextBox1.Text", "MM/dd/yyyy",
CultureInfo.InvariantCulture);
答案 3 :(得分:0)
您可以直接获取DateTimePicker
的选定值。
试试这个:
string datetime = DateTimePicker1.Value.ToString("DateTimeFormat");
请参阅此链接http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.value%28v=vs.110%29.aspx