我正在尝试制作一个程序,将日期存储在数据库中,格式为dd / MM / yyyy。我用Google搜索并看到相同的结果。我尝试编码但它不起作用。使用datetimepicker的自定义格式,输入日期采用dd / MM / yy模式。在稍微操作字符串以删除填充零之后,返回的字符串是MM / dd / yyyy。
这是我的代码
System.Windows.Forms.MessageBox.Show(Cdate.Text + "CDATE"); //shows dd/MM/yyyy
string[] datecut = new string[4];
datecut = Cdate.Text.Split('/');
DateTime cdate = DateTime.ParseExact(datecut[0].PadLeft(2, '0') + '/' + datecut[1].PadLeft(2, '0') + '/' + datecut[2], "dd/MM/yyyy", null);
EC.setCDate(cdate.ToShortDateString());
System.Windows.Forms.MessageBox.Show(cdate.ToShortDateString()); //shows MM/dd/yyyy
datecut = Cdate.Text.Split('/');
DateTime date = DateTime.ParseExact(datecut[0].PadLeft(2, '0') + '/' + datecut[1].PadLeft(2, '0') + '/' + datecut[2], "dd/MM/yyyy", null);
EC.setDate(date.ToShortDateString());
System.Windows.Forms.MessageBox.Show(date.ToShortDateString());
答案 0 :(得分:4)
将日期存储在数据库中,格式为dd / MM / yyyy
不,不,否。您的数据库将具有专门用于日期字段的数据类型。你应该使用那种类型。此日期类型不以任何人类可读的格式存储日期值。它将以紧凑的二进制格式存储日期。为方便起见,您的查询或数据库工具仅向您显示人类可读的格式。
如果您可以举例说明将日期保存到数据库的位置以及您正在使用的数据库类型,我们可以向您展示如何在不格式化日期的情况下执行此操作。
答案 1 :(得分:1)
你试过了吗?
String Date = DateTime.Now.ToString(“dd / MM / yyyy”);
答案 2 :(得分:0)
通常,您使用DateTime.TryParse方法来解析字符串。 (http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx)一旦你将字符串作为DateTime对象,你可以将它打印出来然后你喜欢使用DateTime.toString()(http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx)
答案 3 :(得分:0)
听起来你有一个日期选择器,并且你正在尝试使用所选日期的字符串表示。如果是这样的话我不会这样做。日期选择器有一个名为value的属性,它是一个表示所选日期的DateTime对象,您可以在其中文字传递给您的EC.setDate方法。
EC.setDate(dateTimePicker.Value.ToString("dd/MM/yyyy"));