在VB中将数值型2004819转换成2004年8月19日的日期格式

ypshilh 2008-04-09 02:19:39
刚接触vb就遇到一个问题,在VB中将数值型2004819转换成2004年8月19日的日期格式,如何转换请高手帮忙,谢谢!
...全文
160 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
有点难度哦
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
都是很好的建议! 值得学习
Tiger_Zhao 2008-04-10
  • 打赏
  • 举报
回复
请少应该将 MSDN 中“Visual Basic 文档\参考\语言参考\函数”目录下浏览一遍,对 VB 基础函数的功能有个印象。
DateDiff("ww", dt, Date())
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
谢谢。可以了
波导终结者 2008-04-09
  • 打赏
  • 举报
回复
直接Date类型相减,得到天数,除七不就是周数了
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
谢谢了
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
谢谢Tiger_Zhao你了,我要将dt的结果与系统当前日期相减,将得到的值显示成周数呢,该怎么写?谢谢!
Tiger_Zhao 2008-04-09
  • 打赏
  • 举报
回复
自己哪个日历数数,周数算错了,应该这样:
Private Sub Command1_Click()
Dim y As Integer, w As Integer, dt As Date
y = CInt(Mid(Text1.Text, 5, 2))
w = CInt(Mid(Text1.Text, 7, 2))
dt = DateAdd("ww", w - 1, DateSerial(y, 1, 1)) '1月1日为第一周
MsgBox dt
End Sub
diablofriend 2008-04-09
  • 打赏
  • 举报
回复
format(d,“00”)
bbhere 2008-04-09
  • 打赏
  • 举报
回复
format函数
diablofriend 2008-04-09
  • 打赏
  • 举报
回复
?DateAdd("d", 7*37, cdate("2004/01/01 00:00:00"))
?format(format("2004/09/16","yyyymmdd"),"0000年00月00日")
希望这样可以给你一点启发!
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
d = Int((Mid(b, 7, 2) * 7) / 30) 得到的是一个不如说是8,用什么函数可以得到08呢
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
我的变量是这样定义的
m = "20"
a = date
b = Text1.Text
c = Mid(b, 5, 2)
d = Int((Mid(b, 7, 2) * 7) / 30)
f = (Mid(b, 7, 2) * 7) Mod 30
q = Str((m & c & d & f))
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
但是在我的程序中2004,8,19都是变量不固定的,
Tiger_Zhao 2008-04-09
  • 打赏
  • 举报
回复
自己拆成3段,然后用函数 DateSerial(2004,8,19) 可以得到日期值。
ypshilh 2008-04-09
  • 打赏
  • 举报
回复
是这样的,我要从text1中输入的字符串中取出日期得到系统日期与取出来的日期相差的天数,比如我输入QM11043723123,其中0437代表2004年37周,我将这个转换成了20040819
vbman2003 2008-04-09
  • 打赏
  • 举报
回复
你的规则不明确,比如2001119转成什么日子?
如果是8位,问题到不大,比如
20040819

dim s as string
s="20040819"
s=format(s,"####-##-##")
if isdate(s) then s=format(s,"yyyy年mm月dd日")

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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