Foxtable(狐表)用户栏目专家坐堂 → 关于生日的转换?


  共有5789人关注过本帖树形打印复制链接

主题:关于生日的转换?

帅哥哟,离线,有人找我吗?
客家阿哥
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
关于生日的转换?  发帖心情 Post By:2013/4/24 1:09:00 [只看该作者]

利用身份证号码,用下面代码提取出年、月、日
        e.DataRow("出生年") = ReadBirthday(e.DataRow("身份证号码")).Year
        e.DataRow("出生月") = ReadBirthday(e.DataRow("身份证号码")).Month
        e.DataRow("出生日") = ReadBirthday(e.DataRow("身份证号码")).Day

怎么把

例如1999换成一九九九
      11月换成十一
       6日换成六

 回到顶部
帅哥哟,离线,有人找我吗?
菲舍尔
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:504 积分:3492 威望:0 精华:3 注册:2012/11/13 15:49:00
  发帖心情 Post By:2013/4/24 1:47:00 [只看该作者]

CUDate(Date)
将日期Date转换为大写中文格式
例如:
CUDate(#12/31/2008#)
等于:
贰零零捌年拾贰月叁拾壹日

CLDate(Date)
将日期Date转换为小写中文格式
例如:
CLDate(#12/31/2008#)
等于:
二○○八年十二月三十一日

CCDate(Date)
将日期Date转换为大写中文格式,符合支piao格式
例如:
CUDate(#2/10/2008#)
等于:
贰零零捌年零贰月壹拾日


 回到顶部
帅哥哟,离线,有人找我吗?
客家阿哥
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2013/4/24 8:44:00 [只看该作者]

先谢谢  菲舍尔 老师!!!


图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

我自己用笨方法做了一个

If e.DataCol.Name = "身份证号码" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号码") Then '身份证号码是否为空
        e.DataRow("出生年") = Nothing '如果为空,则清除出生日期
        e.DataRow("出生月") = Nothing
        e.DataRow("出生日") = Nothing
        e.DataRow("性别") = Nothing
    Else
        '否则从身份证号码列中提取出生日期
        Dim sr As String = CLDate(ReadBirthday(e.NewValue))
        e.DataRow("出生年") = sr.SubString(0,4)
        Dim yue As String = sr.SubString(6,1)
        
        If yue ="月" Then
            e.DataRow("出生月") = sr.SubString(5,1)            
            If sr.SubString(8,1) ="日" Then
                e.DataRow("出生日") = sr.SubString(7,1)
            ElseIf sr.SubString(9,1) = "日"
                e.DataRow("出生日") = sr.SubString(7,2)
            ElseIf sr.SubString(10,1) = "日"
                e.DataRow("出生日") = sr.SubString(7,3)
            End If
        Else
            e.DataRow("出生月") = sr.SubString(5,2)
            If sr.SubString(9,1) ="日" Then
                e.DataRow("出生日") = sr.SubString(8,1)
            ElseIf sr.SubString(9,1) = "日"
                e.DataRow("出生日") = sr.SubString(8,2)
            ElseIf sr.SubString(9,1) = "日"
                e.DataRow("出生日") = sr.SubString(8,3)
            End If
        End If
        e.DataRow("性别") = ReadSex(e.DataRow("身份证号码"))
    End If
End If
[此贴子已经被作者于2013-4-24 8:49:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/24 8:52:00 [只看该作者]

你获得年月日的方法太费力了,参考下面的内容,可以很轻松:

 

http://www.foxtable.com/help/topics/1424.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
客家阿哥
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2013/4/24 8:53:00 [只看该作者]

现在还有一个问题是,专业报表打印(套打),怎么让内容在空格中“居中”????

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/24 8:56:00 [只看该作者]

rx.Style.TextAlignVert = prt.AlignVertEnum.Center '文本垂直居中
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中

 回到顶部
帅哥哟,离线,有人找我吗?
客家阿哥
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2013/4/24 9:30:00 [只看该作者]

狐爸看帖不认真啊!

我的难处不是获取日期的问题,而是怎么把“11”变成“十一”,“20”变成“二十”等类似的问题!!!

 回到顶部