【技术实现步骤摘要】
字符串与时间字段的转换方法及装置
[0001]本申请涉及数据处理
,具体而言,涉及一种字符串与时间字段的转换方法及装置。
技术介绍
[0002]在软件系统开发过程中,数据对象中时间类型字段类型比较特殊,由于不同系统(团队规范/开发语言)差异对于该类型字段的存储形态有如下可能性:时间戳格式存储(13位或10位);时间字符串格式存储(时间字符串可能多种如yyyy/MM/dd、yyyy
‑
MM
‑
dd、yyyy
‑
MM
‑
dd HH:mm:ss、MM/dd/yyyy等不同间隔符或不同的排列顺序)。
[0003]在系统交互过程中,涉及网络传输,需要将传输数据序列化(即数据从存储形态转换成传输形态)处理,又由于系统间存在开发语言、技术框架、序列化工具的差异,如果传输时不做特殊的编码处理,将会执行默认的序列化方法,则时间类型字段存在以下可能的形态:时间戳文本传输(13位或10位;时间字符串文本传输(日期格式化串可能多种如yyyy/MM/dd、yyyy
‑
MM
‑
dd、yyyy
‑
MM
‑
dd HH:mm:ss、MM/dd/yyyy等不同间隔符或不同的排列顺序)。
[0004]应用程序接口(Application Programming Interface,API)提供方而言通常使用一些框架(比如,Spring)进行自动反序列化减少开发工作量,而反序列化成功的前提是, ...
【技术保护点】
【技术特征摘要】
1.一种字符串与时间字段的转换方法,其特征在于,所述方法包括:通过应用程序编程接口拦截执行目标方法的请求报文,从所述请求报文中获取用于实现所述目标方法的类及对应的目标实现方法;获取所述目标实现方法的参数信息列表;通过索引遍历所述参数信息列表,并判断当前索引下的所述参数信息列表中的参数是否包含预设注解标记;在当前索引下的所述参数信息列表中的目标参数包含预设注解标记时,判断所述目标参数的字符串格式;根据所述目标参数的字符串格式,对所述目标参数进行时间格式转换;基于所述目标参数对应的参数类型及转换后的时间格式,更新所述目标参数。2.如权利要求1所述的字符串与时间字段的转换方法,其特征在于,所述根据所述目标参数的字符串格式,对所述目标参数进行时间格式转换的步骤,包括:若所述目标参数的字符串格式中的属性值为预设位数的纯数字,则采用时间戳的反序列化方式实现对所述目标参数进行时间格式转换;若所述目标参数的字符串格式通过正则表达式,符合预设的统一表达格式,则直接将目标参数的字符串格式作为时间格式转换的时间格式;若所述目标参数的字符串格式为其他字符串格式,则按照预设的时间格式转换规则对所述目标参数进行时间格式转换。3.如权利要求2所述的字符串与时间字段的转换方法,其特征在于,所述若所述目标参数的字符串格式为其他字符串格式,则按照预设的时间格式转换规则对所述目标参数进行时间格式转换的步骤,包括:通过正则表达式从所述目标参数的字符串格式中提取出字符之间的间隔符得到第一数组;通过正则表达式从所述目标参数的字符串格式中提取出数字型字符得到第二数组;检测所述第二数组中是否缺失后三位的数组元素,若不缺失后三位的数组元素,则生成用于记录上述不缺失后三位的数组元素的时间格式串的第三数组;通过所述第二数组中的后三位的数组元素中各个数组元素的数值串个数,确定时间格式转换后的时间后三位格式化串;根据所述第二数组中的前三位的数组元素中各个数组元素的数值确定对应的年月日排列顺序,并基于所述第二数组中的前三位的数组元素中各个数组元素的数值串个数确定时间格式转换后的时间前三位格式化串;将时间格式转换后的年月日排列顺序、时间后三位格式化串、时间前三位格式化串作为时间排列属性存入到请求方ID为键的缓存池中;基于所述缓存池中的时间排列属性确定所述第三数组的时间格式化串,通过所述第三数组的时间格式化串与所述第一数组中的间隔符得到时间格式转换的时间字符串。4.如权利要求3所述的字符串与时间字段的转换方法,其特征在于,所述根据所述第二数组中的前三位的数组元素中各个数组元素的数值确定对应的年月日排列顺序的步骤,包括:检测所述第二数组中的前三位的数组元素中各个数组元素的数值是否存在值域混淆,
其中,所述值域混淆的类型包括单混淆、双混淆及三混淆;在所述值域混淆的类型为单混淆时,基于所述第二数组中的前三位的数组元素中各个数组元素的数值确定对应的年月日排列顺序;在所述值域混淆的类型为双混淆与三混淆时,对无法确定的位数组元素采用排列组合方式得到多种日期排列组合方式,并将所述多种日期排列组合方式存入具有暂缓执行标记的第四数组中;在所述索引遍历完所述参数信息列表中的参数之后,计算得到所述第四数组中各种日期排列组合的概率;通过所述各种日期排列组合的概率从所述请求方ID为键的缓存池中获取第一格式化串数组及第二格式化串数组,其中,所述第一格式化串数组包括可能的日期排列组合,所述第二格式化串数组包括所有的日期排列组合;通过所述第一格式化串数组及所述第二格式化串数组确认所述第二数组中的前三位的数组元素中各个数组元素的数值确定对应的年月日排列顺序。5.如权利要求1
‑
4中任意一项所述的字符串与时间字段的转换方法,其特征在于,所述基于所述目标参数对应的参数类型及转换后的时间格式,更新所述目标参数的步骤,包括:在所述目标参数的参数类型为字符型或长整型时,通过所述目标参数的参数名从所述请求报文中获得该参数名对应的原始值,采用转换后的时间格式替换所述原始值,得到更新后的目标参数;在所述目标参数的参数类型为JSONObject类型时,遍历读取参数配置通过自定义的参数名、参数取值路径在所述请求报文中获取对应的原始值,采用转换后的时间格式替换所述原始值,得到更新后的目标参数;在所述目标参数的参数类型为对象类型时,遍历所述目标参数下的所有字段,检测该所有字段中是否存在包括有所述预设注解标记的字段,若所有字段中包括有所述预设注解标记的字段,则通过所述目标参数的参数名从所述请求...
【专利技术属性】
技术研发人员:李嘉明,高忠生,顾凌云,郭志攀,王伟,宋志勇,
申请(专利权)人:上海冰鉴信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。