用VB如何修改系统区域时间的格式?

刚发现一个比较烦人的问题:因做了一个小软件,其中的报表需要显示日期,本以为FormatDateTime(Date,1)显示的是【2010年8月2日】,但在我现在用的这电脑... 刚发现一个比较烦人的问题:
因做了一个小软件,其中的报表需要显示日期,本以为FormatDateTime(Date, 1)显示的是【2010年8月2日】,但在我现在用的这电脑上显示的是【2010年8月2日星期一】,也就是后面多了个星期。
打开控制面板的区域名和语言选项中,时间的标准长日期格式是【yyyy'年'M'月'd'日'dddd】,后面有dddd,我也不知道怎么成这个了,记得以前不是这样的。
所以,如此,就出现另一个问题:将来这软件用在客户机上,客户机的设置五花八门,但如果不是标准的【yyyy'年'M'月'd'日'】这样格式,报表就乱了。
请问,用VB,如何修改这个设置?
现在看来只有先在程序中用语句控制这个值了。
展开
 我来答
lovermagic
2010-08-03 · TA获得超过251个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:302万
展开全部
Dim CustomCulture As CultureInfo = New CultureInfo("en-us")
'Date format
CustomCulture.DateTimeFormat.ShortDatePattern = "yyyy年M月d日"
CustomCulture.DateTimeFormat.LongDatePattern = "yyyy年M月d日"
'apply to application
System.Windows.Forms.Application.CurrentCulture = CustomCulture
System.Threading.Thread.CurrentThread.CurrentUICulture = CustomCulture
'另外,在改之前保存用户设定,程序执行完了,别忘了改回用户原来的设定
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
远风的梦想家
2010-08-03 · TA获得超过2550个赞
知道大有可为答主
回答量:1389
采纳率:0%
帮助的人:0
展开全部
Print Format(Now, "yyyy年mm月dd日")
用这个格式控制就可以控制程序本地的输出效果
Format函数

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' 以系统设置的长时间格式返回当前系统时间。
MyStr = Format(Time, "Long Time")

' 以系统设置的长日期格式返回当前系统日期。
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s") ' 返回 "17:4:23"。
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' 返回 "05:04:23 PM"。
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' 返回 "Wednesday, Jan 27 1993"。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
discovery522
2015-06-10 · TA获得超过4714个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1519万
展开全部
修改格式的代码如下:

Dim CustomCulture As CultureInfo = New CultureInfo("en-us")
'Date format
CustomCulture.DateTimeFormat.ShortDatePattern = "yyyy年M月d日"
CustomCulture.DateTimeFormat.LongDatePattern = "yyyy年M月d日"
'apply to application
System.Windows.Forms.Application.CurrentCulture = CustomCulture
System.Threading.Thread.CurrentThread.CurrentUICulture = CustomCulture
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
当时就楞了
2010-08-03 · TA获得超过132个赞
知道小有建树答主
回答量:150
采纳率:100%
帮助的人:40.5万
展开全部
哈哈 我告诉你个法。
保证好用。无论他时间格式是什么样的,都可以按你要求输出。
Private Sub Form_Load()
Me.Caption = TimeNow
End Sub
Function TimeNow() As String
TimeNow = Year(Date) & "年" & Month(Date) & "月" & Day(Date) & "日"
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
b2311057
2010-08-03 · TA获得超过2728个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:436万
展开全部
Format(Now, "yyyy年mm月dd日")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式