当前位置: 代码迷 >> C# >> String 变换 DateTime 类型
  详细解决方案

String 变换 DateTime 类型

热度:505   发布时间:2016-05-05 02:33:33.0
String 转换 DateTime 类型
string Effectivedate="2015-10-23 09:51:17";
DateTime dt= Convert.ToDateTime(Effectivedate);
强转后就成了系统默认的时间设置格式 dt="2015/10/23 星期五 9:51:17"
DateTime dt1=DateTime.Parse(Effectivedate) 也是一样
能不能再不改系统默认的时间格式转换成
DateTime dt="2015-10-23 09:51:17" 或者 DateTime dt="2015/10/23 9:51:17"
只要不带星期几就可以 
求大牛,在线等。


------解决思路----------------------
你需要显示的时候,在.tostring("yyyy-MM-dd HH:mm:ss")就行了。
------解决思路----------------------
插入数据库只能是yyyy-MM-dd HH:mm:ss这样的格式,其他格式认不到

DateTime dt= Convert.ToDateTime(Effectivedate);
你要dt.ToString("yyyy-MM-dd HH:mm:ss")后才能插入数据库。
------解决思路----------------------
DateTime没你所谓的那种格式,那只是DateTime显示的方式,估计你是用string插入了数据库,要么你用format指示以什么格式转化为string,然后数据库内自动帮你转成DateTime,要么用参数化的方式,直接传DateTime
------解决思路----------------------
引用:
问题是我不是用来显示的,传参插入数据库的。

这个要看你数据库里字段是不是datetime类型了.如果你只是nvarchar,那么你需要.tostring("yyyy-MM-dd HH:mm:ss")
------解决思路----------------------
数据库里是什么类型?datetime吗?

------解决思路----------------------
既然只为插入数据库,那你不用在cs中转换了,插入数据库时直接在sql语句中转:
convert(datetime, '2015-10-23 09:51:17', 120 )
------解决思路----------------------
引用:
数据库的那一列是datetime类型

如果数据库是datetime类型,用Microsoft SQL Server Management Studio查看的话应该是yyyy-MM-dd HH:mm:ss格式的。
这不会随系统的时间格式而改变。
你用的是什么工具看的数据库?也许和工具的设置有关。

------解决思路----------------------
在.NET里面的日期格式只是一个显示方式  你可以转换成string类型传入数据库 在数据库里面在转换为日期格式 如:
to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')
  相关解决方案