powerbuilder中,我取得数据类型字符串 201108,如何在数据窗口显示汉字的日期而且要为“二零一一年七月”
1个回答
展开全部
自己写一个函数:函数的输入参数是字符串,输出也是string,输出汉字。
比如输入2011输出二零一一这样的公用处理的函数,然后在外部计算倒退一个月的六位月份,并分别输入年和月输出就好了。
假设输入参数是as_str,函数如下:
string ls_year, ls_month
//得到年月
ls_year = left(as_str,4)
ls_month = right(as_str,2)
//先得到倒推一个月的年和月
if ls_month = '01' then
ls_year = string(integer(ls_year) - 1)
ls_month = '12'
else
ls_month = string(integer(ls_month) - 1, '00')
end if
integer li_count
string ls_char
string ls_newstr //存储转换后的串
ls_newstr = '' //初始化
//获取年份的汉字,逐字转换
for li_count = 1 to 4
ls_char = mid(ls_year ,li_count,1) //从年的第一位到第四位逐个转换
choose case ls_char
case '0'
ls_newstr += '零'
case '1'
ls_newstr += '一'
case '2'
ls_newstr += '二'
case '3'
ls_newstr += '三'
case '4'
ls_newstr += '四'
case '5'
ls_newstr += '五'
case '6'
ls_newstr += '六'
case '7'
ls_newstr += '七'
case '8'
ls_newstr += '八'
case '9'
ls_newstr += '九'
end choose
end for
ls_newstr += '年' //得到年的部分
choose case ls_month //转月的部分
case '01'
ls_newstr += ‘一'
case '02'
ls_newstr += '二'
case '03'
ls_newstr += '三'
case '04'
ls_newstr += '四'
case '05'
ls_newstr += '五'
case '06'
ls_newstr +='六'
case '07'
ls_newstr += '七'
case '08'
ls_newstr += '八'
case '09'
ls_newstr += '九'
case '10'
ls_newstr += '十'
case '11'
ls_newstr += '十一'
case '12'
ls_newstr += '十二'
end choose
ls_newstr += '月'
return ls_newstr
上边是函数的代码。假设函数名叫f_get_date(string as_str)
调用的时候,假设你的日期是'201108'
string ls_date
ls_date = f_get_date('201108')
可以得到ls_date = '二零一一年七月'
比如输入2011输出二零一一这样的公用处理的函数,然后在外部计算倒退一个月的六位月份,并分别输入年和月输出就好了。
假设输入参数是as_str,函数如下:
string ls_year, ls_month
//得到年月
ls_year = left(as_str,4)
ls_month = right(as_str,2)
//先得到倒推一个月的年和月
if ls_month = '01' then
ls_year = string(integer(ls_year) - 1)
ls_month = '12'
else
ls_month = string(integer(ls_month) - 1, '00')
end if
integer li_count
string ls_char
string ls_newstr //存储转换后的串
ls_newstr = '' //初始化
//获取年份的汉字,逐字转换
for li_count = 1 to 4
ls_char = mid(ls_year ,li_count,1) //从年的第一位到第四位逐个转换
choose case ls_char
case '0'
ls_newstr += '零'
case '1'
ls_newstr += '一'
case '2'
ls_newstr += '二'
case '3'
ls_newstr += '三'
case '4'
ls_newstr += '四'
case '5'
ls_newstr += '五'
case '6'
ls_newstr += '六'
case '7'
ls_newstr += '七'
case '8'
ls_newstr += '八'
case '9'
ls_newstr += '九'
end choose
end for
ls_newstr += '年' //得到年的部分
choose case ls_month //转月的部分
case '01'
ls_newstr += ‘一'
case '02'
ls_newstr += '二'
case '03'
ls_newstr += '三'
case '04'
ls_newstr += '四'
case '05'
ls_newstr += '五'
case '06'
ls_newstr +='六'
case '07'
ls_newstr += '七'
case '08'
ls_newstr += '八'
case '09'
ls_newstr += '九'
case '10'
ls_newstr += '十'
case '11'
ls_newstr += '十一'
case '12'
ls_newstr += '十二'
end choose
ls_newstr += '月'
return ls_newstr
上边是函数的代码。假设函数名叫f_get_date(string as_str)
调用的时候,假设你的日期是'201108'
string ls_date
ls_date = f_get_date('201108')
可以得到ls_date = '二零一一年七月'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询