首页 新闻 会员 周边

SQL SERVER 日期格式问题

0
悬赏园豆:80 [已解决问题] 解决于 2016-04-18 13:58

SQL SERVER 2008 R2中

字段 OccurDate datetime

 

查询步骤,填充Dataset 然后输出到前台

 

本地 win7 64位 显示格式 2016-04-12 11:09:07

服务器 win2008 R2 64位 显示格式 2016/4/12 11:09:07

 

为了保持一致效果,要2016-04-12 11:09:07这种,有两种办法:

1.查询视图,在视图里转换,写一段无谓的视图。。。仅仅为了时间显示。。

2.判断Datetable 数据格式

object obj = dr[i];

Type type = obj.GetType();

switch (type.Name)
{
case "DateTime":
dataRow.Add(string.Format("'{0}'", Convert.ToDateTime(obj).ToFormatString2()));
break;
default:
dataRow.Add(string.Format("'{0}'", obj));
break;
}

 

 

不知哪位仁兄,有更好解决办法,还望不吝赐教!

多谢!

 

 

 

问题补充:

可能没有表达清楚,楼下几位回复的,我都知道,而且目前也用了。  

现在问题的关键是,本地和服务器显示不一样,我想知道问题出在哪,是Sqlserver 还是 Datetable 还是 程序? 

 

怎么解决? 要一个统一方案,而不必这么一条条设置。。。

Ropean的主页 Ropean | 初学一级 | 园豆:121
提问于:2016-04-12 16:07
< >
分享
最佳答案
0

http://bbs.csdn.net/topics/390369678/

 

设置一下全局的语言 就可以了

收获园豆:10
小眼睛老鼠 | 老鸟四级 |园豆:2731 | 2016-04-12 17:27

这个问题我还是补充一下吧

微软的所有的默认配置 都源于System.Globalization

当程序没有人配置这些信息的时候 会根据机器的配置 去设计默认的配置 

而你的问题 在于 你没有配置这个 但是你本地的机器 和服务器的机器 的一些地区 语言啊 又不一致

所以最后导致 你本地和服务器显示不一样

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2016-04-18 18:09
其他回答(5)
0

在显示的时候再设置显示格式,当然最好是不要使用DataSet,使用实体对象。

不管哪种方式,最好在要显示的地方再设置格式。

收获园豆:10
写代码的小2B | 园豆:4371 (老鸟四级) | 2016-04-12 16:11

有没有不设置的,全部直接显示成 2016-04-12 11:09:07 这样的方法

支持(0) 反对(0) Ropean | 园豆:121 (初学一级) | 2016-04-12 16:14

@郭伟: 

怎么和你说呢。 尽量保持数据源本来的数据类型,比如Datetime,不要在还没有使用的时候就ToString("格式")变成String了,这样不利于后续操作,如果有的话。

1.如果使用实体对象的话,可以使用DisplayFormat特性来统一设置显示格式。

2.或者在输出显示的时候设置格式。

3.设置服务器的时间格式(哈哈哈,不推荐)

 

支持(0) 反对(0) 写代码的小2B | 园豆:4371 (老鸟四级) | 2016-04-12 16:27
0
 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//格式化一手可好?

 

收获园豆:10
大楚打码人 | 园豆:4313 (老鸟四级) | 2016-04-12 16:25
0

Select CONVERT(varchar(100), GETDATE(), 120)

你查询时间字段的时候转换一下就好了

收获园豆:10
刘宏玺 | 园豆:14020 (专家六级) | 2016-04-12 16:26

 是操作系统的问题,你可以在控制面板里面设置

控制面板\时钟、语言和区域 -》 更改日期、时间或数字格式 -》短日期yyyy-MM-dd

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2016-04-12 18:14
0

格式保持一致,没必要在数据库中装换,前台没有要求固定格式,你在前台获取的时候转换成数据库格式的,看起来就一致,简单明了

收获园豆:20
小光 | 园豆:1766 (小虾三级) | 2016-04-12 16:30
0

数据本身是没有格式的,有格式的是你的电脑。

更准确的说,是你的数据显示逻辑(HTML\控件可以设置),如果不设置,使用的是

Windows(Linux/MACOS/IOS/ANDROID)的默认设置。

在编程里面,相关的知识点是DatetimeFormat以及CultureInfo等等。

这样说明白了吗?

收获园豆:20
爱编程的大叔 | 园豆:30839 (高人七级) | 2016-04-13 09:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册