C# 如何设置系统时间格式? 跪求大牛阿!!!!!

leikaiwei 2011-07-23 06:27:35


[DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")]
public static extern int GetSystemDefaultLCID();
[DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")]
public static extern int SetLocaleInfo(int Locale, int dateType, string dateData);
public const int LOCALE_SLONGDATE = 0x20;
public const int LOCALE_SSHORTDATE = 0x1F;


public const int LOCALE_IDATE = 0x21;
public const int LOCALE_ILDATE = 0x22;


这是我设置系统时间的代码 上部分为网上找的(那2个设置长日期,短日期) 可以用


后2句是我查api文档找的(api32)

设置代码如下

SetLocaleInfo(i, LOCALE_SSHORTDATE, "yyyy-MM-dd");
SetLocaleInfo(i, LOCALE_SLONGDATE, "yyyy-MM-dd");


SetLocaleInfo(i, LOCALE_IDATE, "HH:mm");
SetLocaleInfo(i, LOCALE_ILDATE, "HH:mm:ss");


多次测试结果表示 我的短日期格式没有设置上去 就是HH:mm

系统还是12小时制度 (设置前有获取系统格式 为hh:ss 12小时制,应该为HH 24小时制)

是我哪里错了吗?

求大牛..
...全文
545 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Code従業員 2011-09-28
  • 打赏
  • 举报
回复
这个不是改注册表的问题么?
leikaiwei 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 qwc15827025800 的回复:]

select * from [TableName] where [Time] Between '2011-09-11-01 00:00:00' And '2011-09-14 00:00:00';
时间格式必须是上面这种,你把时间转成这种就行了,[Time].ToString("yyyy-MM-dd-hh 00:00:00");
[/Quote]


我怎么觉得我描述的很清楚了 但是有的人还要说ToString呢
henry-qu 2011-09-14
  • 打赏
  • 举报
回复
select * from [TableName] where [Time] Between '2011-09-11-01 00:00:00' And '2011-09-14 00:00:00';
时间格式必须是上面这种,你把时间转成这种就行了,[Time].ToString("yyyy-MM-dd-hh 00:00:00");
leikaiwei 2011-07-27
  • 打赏
  • 举报
回复
想破头了都~~
leikaiwei 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dongxinxi 的回复:]

如果只是为了显示,LZ可能绕了弯路,而且强行改变服务器时间并不是好办法,有可能该服务器另一程序正好只需要12小时制的呢? 难道你非得让客户再单独为你的程序买一台服务器?
跑题了
public static DateTime ToDateTime(
string value,
IFormatProvider provider
)可以构造不同的区域以及自定义格式输出时间

如果考虑在系……
[/Quote]


这么做不还是要用datetime在每处时间需要格式化的地方转换一下
leikaiwei 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sdl2005lyx 的回复:]

这个还真没弄过,也没有遇到过这种需求!

谈一个感想:说实话,有时候开发人员太在乎用户想法了,用说什么,我们就做什么(正所谓:人有多大胆,地有多大产!),也不过他们提的要求是否合理!其实,反过来,我们也可以影响用户,他们不合理的要求,适度要拒绝和引导,否则,我们开发人员也太累了。。。。

跑题了,呵呵。。。。
[/Quote]


一语说道内心深处 可是没办法呀..
  • 打赏
  • 举报
回复
如果只是为了显示,LZ可能绕了弯路,而且强行改变服务器时间并不是好办法,有可能该服务器另一程序正好只需要12小时制的呢? 难道你非得让客户再单独为你的程序买一台服务器?
跑题了
public static DateTime ToDateTime(
string value,
IFormatProvider provider
)可以构造不同的区域以及自定义格式输出时间

如果考虑在系统中给DateTime定义扩展方法,效率不会比你调用API慢的

sdl2005lyx 2011-07-27
  • 打赏
  • 举报
回复
这个还真没弄过,也没有遇到过这种需求!

谈一个感想:说实话,有时候开发人员太在乎用户想法了,用说什么,我们就做什么(正所谓:人有多大胆,地有多大产!),也不过他们提的要求是否合理!其实,反过来,我们也可以影响用户,他们不合理的要求,适度要拒绝和引导,否则,我们开发人员也太累了。。。。

跑题了,呵呵。。。。
leikaiwei 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sdl2005lyx 的回复:]

"我的要求是修改系统短时间格式",什么需求要改变系统的的时间格式啊?
一般来说,无非是把时间以不同格式显示到应用界面上,改变系统的干什么?
[/Quote]

最终的目的当然是为了显示的时间格式统一 程序处理时间的时候也要格式统一

程序获取系统时间的时候 默认格式是系统时间格式的


我要修改系统时间格式肯定有我的道理阿 程序里导出都是处理时间的代码 我一个一个在转换下格式工作量太大了 现在就是把系统的12小时制改成24小时制我的问题就解决了
feng9330 2011-07-27
  • 打赏
  • 举报
回复
mark
sdl2005lyx 2011-07-27
  • 打赏
  • 举报
回复
"我的要求是修改系统短时间格式",什么需求要改变系统的的时间格式啊?
一般来说,无非是把时间以不同格式显示到应用界面上,改变系统的干什么?
leikaiwei 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sdl2005lyx 的回复:]

LZ,NET内库中有现成的DateTime,完全能实现你的要求,为什么非还要使用API的函数,你查查MSDN,上面说得很仔细。。。
[/Quote]

完全实现我的要求?

我的要求是修改系统短时间格式 DateTime怎么修改客户系统上的短时间格式?
sdl2005lyx 2011-07-26
  • 打赏
  • 举报
回复
LZ,NET内库中有现成的DateTime,完全能实现你的要求,为什么非还要使用API的函数,你查查MSDN,上面说得很仔细。。。
leikaiwei 2011-07-26
  • 打赏
  • 举报
回复
有人知道吗.. 都好几天了 这个问题也没解决呢.. 急..
leikaiwei 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 findcaiyzh 的回复:]

换个API试一试

下面的代码来自
http://www.geekpedia.com/code117_Get-And-Set-The-System-Date-And-Time.html
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
us……
[/Quote]


完全不给力
leikaiwei 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fengyarongaa 的回复:]

你不用设置系统的

在程序里面 格式化 或者转换就行


看看我博客这篇文章 http://blog.csdn.net/fengyarongaa/article/details/6346862
[/Quote]

格式化当然简单 但是很反锁的 用户输入(获取)时间的地方很多的

直接统一他的时间为24小时制不是更好么?
FOR-YOU 2011-07-24
  • 打赏
  • 举报
回复
学习...
ycproc 2011-07-24
  • 打赏
  • 举报
回复
你不用设置系统的

在程序里面 格式化 或者转换就行


看看我博客这篇文章 http://blog.csdn.net/fengyarongaa/article/details/6346862
xingheng907 2011-07-23
  • 打赏
  • 举报
回复
具体意思没怎么听懂

不过

DataTime类的对象有个GetDateTimeFormats()方法。可以返回各种格式的时间的字符串数组。
比如结果像是:
2011/7/23
2011-7-23
2011.7.23
2011-07-23
2011/07/23
2011.07.23
11-7-23
11/7/23
11.7.23
11/07/23
2011年7月23日
2011-07-23
星期六, 2011-07-23
星期六, 2011年7月23日
2011年7月23日 19:47
2011年7月23日 19:47
2011年7月23日 下午 7:47
2011年7月23日 下午 07:47
2011-07-23 19:47
2011-07-23 19:47
2011-07-23 下午 7:47
2011-07-23 下午 07:47
星期六, 2011-07-23 19:47
星期六, 2011-07-23 19:47
星期六, 2011-07-23 下午 7:47
星期六, 2011-07-23 下午 07:47
星期六, 2011年7月23日 19:47
星期六, 2011年7月23日 19:47
星期六, 2011年7月23日 下午 7:47
星期六, 2011年7月23日 下午 07:47
2011年7月23日 19:47:41
2011年7月23日 19:47:41
2011年7月23日 下午 7:47:41
2011年7月23日 下午 07:47:41
2011-07-23 19:47:41
2011-07-23 19:47:41
2011-07-23 下午 7:47:41
2011-07-23 下午 07:47:41
星期六, 2011-07-23 19:47:41
星期六, 2011-07-23 19:47:41
星期六, 2011-07-23 下午 7:47:41
星期六, 2011-07-23 下午 07:47:41
星期六, 2011年7月23日 19:47:41
星期六, 2011年7月23日 19:47:41
星期六, 2011年7月23日 下午 7:47:41
星期六, 2011年7月23日 下午 07:47:41
2011/7/23 19:47
2011/7/23 19:47
2011/7/23 下午 7:47
2011/7/23 下午 07:47
2011-7-23 19:47
2011-7-23 19:47
2011-7-23 下午 7:47
2011-7-23 下午 07:47
2011.7.23 19:47
2011.7.23 19:47
2011.7.23 下午 7:47
2011.7.23 下午 07:47
2011-07-23 19:47
2011-07-23 19:47
2011-07-23 下午 7:47
2011-07-23 下午 07:47
2011/07/23 19:47
2011/07/23 19:47
2011/07/23 下午 7:47
2011/07/23 下午 07:47
2011.07.23 19:47
2011.07.23 19:47
2011.07.23 下午 7:47
2011.07.23 下午 07:47
11-7-23 19:47
11-7-23 19:47
11-7-23 下午 7:47
11-7-23 下午 07:47
11/7/23 19:47
11/7/23 19:47
11/7/23 下午 7:47
11/7/23 下午 07:47
11.7.23 19:47
11.7.23 19:47
11.7.23 下午 7:47
11.7.23 下午 07:47
11/07/23 19:47
11/07/23 19:47
11/07/23 下午 7:47
11/07/23 下午 07:47
2011/7/23 19:47:41
2011/7/23 19:47:41
2011/7/23 下午 7:47:41
2011/7/23 下午 07:47:41
2011-7-23 19:47:41
2011-7-23 19:47:41
2011-7-23 下午 7:47:41
2011-7-23 下午 07:47:41
2011.7.23 19:47:41
2011.7.23 19:47:41
2011.7.23 下午 7:47:41
2011.7.23 下午 07:47:41
2011-07-23 19:47:41
2011-07-23 19:47:41
2011-07-23 下午 7:47:41
2011-07-23 下午 07:47:41
2011/07/23 19:47:41
2011/07/23 19:47:41
2011/07/23 下午 7:47:41
2011/07/23 下午 07:47:41
2011.07.23 19:47:41
2011.07.23 19:47:41
2011.07.23 下午 7:47:41
2011.07.23 下午 07:47:41
11-7-23 19:47:41
11-7-23 19:47:41
11-7-23 下午 7:47:41
11-7-23 下午 07:47:41
11/7/23 19:47:41
11/7/23 19:47:41
11/7/23 下午 7:47:41
11/7/23 下午 07:47:41
11.7.23 19:47:41
11.7.23 19:47:41
11.7.23 下午 7:47:41
11.7.23 下午 07:47:41
11/07/23 19:47:41
11/07/23 19:47:41
11/07/23 下午 7:47:41
11/07/23 下午 07:47:41
7月23日
7月23日
2011-07-23T19:47:41.1891545+08:00
2011-07-23T19:47:41.1891545+08:00
Sat, 23 Jul 2011 19:47:41 GMT
Sat, 23 Jul 2011 19:47:41 GMT
2011-07-23T19:47:41
19:47
19:47
下午 7:47
下午 07:47
19:47:41
19:47:41
下午 7:47:41
下午 07:47:41
2011-07-23 19:47:41Z
2011年7月23日 11:47:41
2011年7月23日 11:47:41
2011年7月23日 上午 11:47:41
2011年7月23日 上午 11:47:41
2011-07-23 11:47:41
2011-07-23 11:47:41
2011-07-23 上午 11:47:41
2011-07-23 上午 11:47:41
星期六, 2011-07-23 11:47:41
星期六, 2011-07-23 11:47:41
星期六, 2011-07-23 上午 11:47:41
星期六, 2011-07-23 上午 11:47:41
星期六, 2011年7月23日 11:47:
BennySun 2011-07-23
  • 打赏
  • 举报
回复
学习,关注中。。。
加载更多回复(1)

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧