关于DateTimePicker读取日期部分的问题

时间:2022-10-19 16:08:48
我是想取DateTimePicker上的日期部分写入数据库,数据库字段类型是nvarchar(20)

string date = DateTimePicker1.Value.Date.ToString();

写入数据库的格式是2013-05-09 00:00:00

string date = DateTimePicker1.Value.Date.ToString().Substring(0,10);

这样写,到数据库还是跟上边的一样


string date = DateTimePicker1.Value.ToString().Substring(0,10);

到数据库依然有时间,只不过是2013-05-09 22:30:10这样的

有什么办法能去掉后边的时间部分????


21 个解决方案

#1


DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"

#2


引用 1 楼 caozhy 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"

+1

#3


引用 1 楼 caozhy 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"


不行啊,这样写结果还是带时间的

#4


我只要前边的日期,不要时间

#5


DateTimePicker1.Value.ToString("yyyy-MM-dd") 

#6


话说DateTimePicker好像有个属性设置带不带时间的,记不清了!

#7


引用 5 楼 yuyang00000 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") 


还是不行,后边还是带日期的

#8


ToShortDateString ()试试

#9


我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了

#10


引用 9 楼 u010501237 的回复:
我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了


数据库是nvarchar会有什么问题呢?感觉不像
看看楼下高人解答!

#11


数据库字符设成: date

#12


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd");

#13


不是DateTimePicker 问题,就是数据库问题。楼主处理方法得到的字符串就是只包含年月日。
只是你看到的数据库里显示不对。

#14


引用 10 楼 yuyang00000 的回复:
Quote: 引用 9 楼 u010501237 的回复:

我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了


数据库是nvarchar会有什么问题呢?感觉不像
看看楼下高人解答!


我记得SQL SERVER会自动识别日期格式的数据

例如2013-05-10,他会自动识别成DATE类型

#15


数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。

#16


如果 ToShortDateString () 这个方法还不行的话就是数据库问题了,他会默认把时间加上的,就是你看到的后面的一串0 当然了如果你的数据库是2008 的话也可以用date数据类型,但是一般不建议这么操作,你只要在查看数据的时候加个convert(varchar,你的日期字段,23)这样就不会跟那一串0了。

#17


引用 15 楼 tiana0 的回复:
数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd"); 

这样子写的话,后面的时间是00:00:00,所以我怀疑是数据库自己加上去的

我已经不打算改了,就是查询的时候要在数据库里CONVERT转换一下了

#18


引用 17 楼 u010501237 的回复:
Quote: 引用 15 楼 tiana0 的回复:

数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd"); 

这样子写的话,后面的时间是00:00:00,所以我怀疑是数据库自己加上去的

我已经不打算改了,就是查询的时候要在数据库里CONVERT转换一下了

convert当然可以了

#19


DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
DateTimePicker1.CustomFormat = "yyyy-MM-dd";

#20


dateTimePicker1.CustomFormat = "yyyy-MM-dd";

#21


修改dateTimePicker的属性中有Format修改为custom,然后修改customformat为yyyy-MM-dd即可

#1


DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"

#2


引用 1 楼 caozhy 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"

+1

#3


引用 1 楼 caozhy 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") + " 00:00"


不行啊,这样写结果还是带时间的

#4


我只要前边的日期,不要时间

#5


DateTimePicker1.Value.ToString("yyyy-MM-dd") 

#6


话说DateTimePicker好像有个属性设置带不带时间的,记不清了!

#7


引用 5 楼 yuyang00000 的回复:
DateTimePicker1.Value.ToString("yyyy-MM-dd") 


还是不行,后边还是带日期的

#8


ToShortDateString ()试试

#9


我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了

#10


引用 9 楼 u010501237 的回复:
我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了


数据库是nvarchar会有什么问题呢?感觉不像
看看楼下高人解答!

#11


数据库字符设成: date

#12


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd");

#13


不是DateTimePicker 问题,就是数据库问题。楼主处理方法得到的字符串就是只包含年月日。
只是你看到的数据库里显示不对。

#14


引用 10 楼 yuyang00000 的回复:
Quote: 引用 9 楼 u010501237 的回复:

我怀疑是数据库的问题

算了,查询的时候数据库里转换一下得了


数据库是nvarchar会有什么问题呢?感觉不像
看看楼下高人解答!


我记得SQL SERVER会自动识别日期格式的数据

例如2013-05-10,他会自动识别成DATE类型

#15


数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。

#16


如果 ToShortDateString () 这个方法还不行的话就是数据库问题了,他会默认把时间加上的,就是你看到的后面的一串0 当然了如果你的数据库是2008 的话也可以用date数据类型,但是一般不建议这么操作,你只要在查看数据的时候加个convert(varchar,你的日期字段,23)这样就不会跟那一串0了。

#17


引用 15 楼 tiana0 的回复:
数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd"); 

这样子写的话,后面的时间是00:00:00,所以我怀疑是数据库自己加上去的

我已经不打算改了,就是查询的时候要在数据库里CONVERT转换一下了

#18


引用 17 楼 u010501237 的回复:
Quote: 引用 15 楼 tiana0 的回复:

数据库后面加上的时间"22:30:10",是什么时间,是DateTimePicker控件选择日期时候的时间,还是数据保存到数据库那个时刻的时间。先确定问题出在哪里,再找方法改。


DateTimePicker1.Value.Date.ToString("yyyy-MM-dd"); 

这样子写的话,后面的时间是00:00:00,所以我怀疑是数据库自己加上去的

我已经不打算改了,就是查询的时候要在数据库里CONVERT转换一下了

convert当然可以了

#19


DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
DateTimePicker1.CustomFormat = "yyyy-MM-dd";

#20


dateTimePicker1.CustomFormat = "yyyy-MM-dd";

#21


修改dateTimePicker的属性中有Format修改为custom,然后修改customformat为yyyy-MM-dd即可