VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 2089|回复: 8

[求助] 关于格式化时间 "2015-3-25 星期三 10:20:30" 为标准时间

[复制链接]
发表于 2015-3-25 12:19:02 | 显示全部楼层 |阅读模式
Date_ = "2015-3-25 星期三 10:20:30"

注意上面的时间是不同系统不同设置,显示的也不一样,想都格式化成 "2015/3/25 10:20:30"

试了 Format 和 CDate 等都不行,在VB中有这么一个函数可以直接格式化的吗?
发表于 2015-3-25 14:14:43 | 显示全部楼层
把星期三字符串拿掉先 (夹在两空格之间,此字符串不是数字和分隔符“-”),然后再用Format
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-25 14:46:37 | 显示全部楼层
先拿掉就不通用了啊,比如语言不同,而且不一定有这个的,所以得必须先判断有没有"星期"二个字,再来替换或去掉.
回复 支持 反对

使用道具 举报

发表于 2015-3-25 16:24:50 | 显示全部楼层
inat 发表于 2015-3-25 14:46
先拿掉就不通用了啊,比如语言不同,而且不一定有这个的,所以得必须先判断有没有"星期"二个字,再来替换或去掉 ...

2个空格之间的字符串拿掉,就是你所需要的。
回复 支持 反对

使用道具 举报

发表于 2015-3-25 18:57:39 | 显示全部楼层
format("yy/mm/dd",d)

点评

见9L  发表于 2015-3-31 22:02
参数反了。另见8L  发表于 2015-3-30 22:29
回复 支持 反对

使用道具 举报

发表于 2015-3-25 20:54:59 | 显示全部楼层
只用一个函数是不够的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2015-3-27 11:59:32 | 显示全部楼层
Dim d As Date
d = Now
Debug.Print Format(d, "yyyy/mm/dd HH:MM:SS")

点评

见8L  发表于 2015-3-30 22:29
回复 支持 反对

使用道具 举报

发表于 2015-3-30 22:24:31 | 显示全部楼层
@worldy
@zzyong00
5L,7L,可以试试,用你们的程序,当系统日期分隔符是"-"或"."的时候结果是怎样的?
会不会变成"/"?

VB应该先读取注册表 "HKEY_CURRENT_USER\Control Panel\International\sDate",取得日期分隔符,如不是"/",应用 Replace 函数将其替换为"/"

点评

?format("2015年3月8日","yyyy|mm|dd") 2015|03|08  发表于 2015-3-30 23:09
?format("2015年3月8日","yyyy|mm|dd") 2015|03|08  发表于 2015-3-30 23:08
?format("2015年3月8日","yyyy|mm|dd") 2015|03|08  发表于 2015-3-30 23:07
一切都很正常 ?format("2015年3月8日","yyyy|mm|dd") ,分隔号用什么就出什么  发表于 2015-3-30 23:07
回复 支持 反对

使用道具 举报

发表于 2015-3-31 20:00:27 | 显示全部楼层
@worldy

Print Format("2015年3月8日", "yyyy|mm|dd") ' 2015/03/08
Print Format("2015年3月8日", "yyyy/mm/dd") ' 2015|03|08
效果如下



控制面板 区域和语言选项中的分隔符

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

绿色部分无用,不予考虑  发表于 2015-4-1 19:19
你怎么是会反过来的?  发表于 2015-3-31 22:29
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-1 18:59

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表