以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  日期问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=67019)

--  作者:狂风暴雨狂波
--  发布时间:2015/4/17 15:39:00
--  日期问题
在命令窗口输入Dim ln As New Lunar(Date.Today)
Output.Show(CLDate(ln.LunarDate ))
将系统日期改为2015年4月17日和4月18日这两天执行命令报错,改成其他日期不报错,怎么回事呀?如果代码有误怎么写?

--  作者:Bin
--  发布时间:2015/4/17 15:47:00
--  
2015-2-29 并不是合法的日期,2015年2月并没有29号.    农历不能当新历用.中国专用的日期只能用字符串了.   并没有专用的日期格式为中国而定的
--  作者:狂风暴雨狂波
--  发布时间:2015/4/17 15:51:00
--  
那这两天的农历日期要这样显示怎么办?
--  作者:Bin
--  发布时间:2015/4/17 15:52:00
--  
要显示你直接显示就好,没必要转为日期格式
Dim ln As New Lunar(Date.Today)
Output.Show(ln.LunarDate)   

--  作者:狐狸爸爸
--  发布时间:2015/4/17 15:53:00
--  
你不能用CLDate转换,传递给CLDATE的必须是一个有效日期
--  作者:狐狸爸爸
--  发布时间:2015/4/17 15:57:00
--  
可以这样写:
Dim ln As New Lunar(Date.Today)
Dim s  As String = ln.LunarDate
Dim v() As String  = s.Split("-")
Return CLNum(v(0)) & "年" & CLNum(v(1)) & "月" & CLNum(v(2)) & "日"

--  作者:狂风暴雨狂波
--  发布时间:2015/4/17 15:59:00
--  
我做了一个项目,在项目的菜单中加了一个标签专门用于显示农历日期.项目运行了半年没问题,今天突然出现这个情况,那如何解决这个问题,总不可能这两天不行就这不要这样显示了吧.
--  作者:Bin
--  发布时间:2015/4/17 16:00:00
--  
看6楼
--  作者:狂风暴雨狂波
--  发布时间:2015/4/17 16:08:00
--  
我原来的代码是这样的:Dim lbl As WinForm.Label
lbl = e.Form.Controls("Label1")
Dim ln As New Lunar(Date.Today)
lbl.Text =  "今天是:" & CLDate(Date.Today) & "   "& Format(Date.Today,"dddd") & "  " &"农历:" & CLDate(ln.LunarDate )
怎么修改?
这些代码是放在窗口中的AfterLoad事件中的
[此贴子已经被作者于2015/4/17 16:09:40编辑过]

--  作者:Bin
--  发布时间:2015/4/17 16:10:00
--  
Dim ln As New Lunar(Date.Today)
Dim s  As String = ln.LunarDate
Dim v() As String  = s.Split("-")
lbl.Text =  "今天是:" & CLDate(Date.Today) & "   "& Format(Date.Today,"dddd") & "  " &"农历:" & (CLNum(v(0)) & "年" & CLNum(v(1)) & "月" & CLNum(v(2)) & "日")