找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证

超级版主

94

主题

2449

帖子

4773

积分

超级版主

Rank: 8Rank: 8

积分
4773

Wyn高级认证Wyn认证

[ActiveReports] 脚本自定义日期展示

Eden.Sun Wyn认证
超级版主   /  发表于:2022-7-29 10:41  /   查看:1659  /  回复:0
本帖最后由 Eden.Sun 于 2022-7-29 15:08 编辑

这篇帖子介绍用过 AR 的 ”脚本”功能实现对日期时间的任意格式化展示。

我们的AR 提供了多种情况下的时间日期格式化展示功能,比如长/短日期、时间、汉字年份时间等等,可以满足大多数情况下的需求。不过,当我们想根据自己的想法来设置特殊的格式化的时候,系统提供的格式化类型可能就难以满足我们的需求,比如我我想把日期按照”22-Mar-06” 的格式展示(年份后两位、月份英文单词的缩写、两位日期)。类似这种特殊的情况,我们就可以通过“脚本”功能,自己写代码来实现;

首先是需求分析:

①   需求:日期格式化,将日期格式化为指定的格式,如“2022-07-22”、“2022/07/22”  转换为22-Mar-06(年份的后两位,月份是英文单词的缩写,日期是常 规的两位数字)
②   问题分析与解决(1):
        a)      通过日期类的操作,分别获取到传入参数的年、月、日,然后根据实际的需求进行格式化:

        b)      脚本
  1. Function ConvertDateFormat(ByVal inputString As Date) As String
  2.       Dim now As Date = inputString '‘将参数转化为日期类型
  3.       Dim DateText As String = now.ToString("dd") '获取日期的 日 部分的数据
  4.         
  5.       '这是 Excel 的公式,MMM表示获取月份英文的缩写,MMMM 表示月份的英文单词的全拼
  6.       Dim MonthText As String = now.ToString("MMM", New System.Globalization.CultureInfo("en-us"))

  7.       Dim YearText As String = now.ToString("yy") ' 获取年份的后两位
  8.       Dim s As String = YearText + "-" + MonthText + "-" + DateText ' 拼接结果
  9.       Return s ' 返回结果
  10. End Function
复制代码
       c)         [size=9.33333px]效果预览:                  
                    添加脚本:
                  

                    添加数据:
                  

                   添加脚本:
                  

③  问题分析与解决(2):这个问题的难点在于月份的缩写形式不好获取和转换,其他的需求都可以通过格式化来实现。那么我们可以将所有的月份对应的引文单词的缩写枚举出来,然后根据月份的数字获取对应的单词;
        a)      脚本:
  1. Function GetMonthEN(ByVal month As String) As String
  2.         Dim strReturn As String = ""  '定义返回结果
  3.         Dim strParaMonthn As String = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec"  '月份缩写字符串
  4.         Dim strSubMonth() As String   '定义字符串切割函数
  5.         strSubMonth = strParaMonthn.Split("_".ToCharArray())  '切割字符串
  6.         Dim index As Integer = month - 1  '获取数组下标(数组下标从0开始)
  7.         strReturn = String.Join("_", strSubMonth(index))  ' 返回结果
  8.         Return strReturn  '
  9. End Function
复制代码
       a)       效果展示:               
               脚本内容:
                     

                     添加数据:
                     


                     预览效果展示:
                  



本帖子中包含更多资源

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

x

0 个回复

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