一种基于Java的时间格式转换方法与流程

文档序号:30783917发布日期:2022-07-16 07:09阅读:179来源:国知局
一种基于Java的时间格式转换方法与流程
一种基于java的时间格式转换方法
技术领域
1.本发明涉及java web技术领域,尤其涉及一种基于java的时间格式转换方法。


背景技术:

2.目前,越来越多的城市管理及办公领域开始进行智慧化管理,对于一个智慧管理系统,往往会涉及到处理很多表单数据,而在表单数据中,时间数据是个至关重要的数据,如何在后台程序中对各式各样的时间信息进行处理显得尤为重要。
3.针对在java语言中的时间转换,现有技术普遍采用的方式是根据需要,程序员去使用原始的时间类,写多行代码来对时间格式进行处理。但是目前,java web项目的发展越来越成熟,项目体量越来越大,一个项目往往需要多人协同开发,会因相同的时间处理代码多次编写,导致大量代码的重复。


技术实现要素:

4.针对背景技术中提到的现有技术的至少一个缺陷或改进需求,本发明提供一种基于java的时间格式转换方法,用以解决相同的时间处理代码多次编写而导致大量重复代码的技术问题。
5.为了解决以上技术问题,本发明提供一种基于java的时间格式转换方法,包括如下步骤:
6.s1.获取需要处理的时间参数;
7.s2.判断所述时间参数的格式是否符合时间格式转换工具类的易处理格式;
8.s3.若是,则调用所述时间格式转换工具类的非公共转换方法进行处理;若否,则经过所述时间格式转换工具类的公共转换方法进行易处理格式转换后再调用所述非公共转换方法进行处理;
9.s4.输出处理后的期望格式的时间。
10.根据本发明提供的基于java的时间格式转换方法,所述易处理格式具体为:
11.string类型的“yyyy-mm-dd”,所述yyyy代表年份,所述mm代表月份,所述dd代表日份,均为阿拉伯数字形式。
12.根据本发明提供的基于java的时间格式转换方法,所述公共转换方法具体为:
13.所述时间参数如果不符合所述易处理格式,将自动转入所述公共转换方法,被转换成所述易处理格式。
14.根据本发明提供的基于java的时间格式转换方法,所述公共转换方法包括数字识别转换方法和文字识别转换方法中的一种或多种;
15.所述数字识别转换方法对数字日期的年份数字、月份数字和日份数字进行敏感识别,并转换为所述易处理格式;
16.所述文字识别转换方法对文字日期与预留信息库进行比对,并转换为所述易处理格式。
17.根据本发明提供的基于java的时间格式转换方法,所述非公共转换方法包括时间格式转换方法、时间类型转换方法、时间月份分割方法、时间0点转24点方法和时间增减方法中的一种或多种。
18.根据本发明提供的基于java的时间格式转换方法,所述时间格式转换方法具体为:
19.将date类型的所述时间参数转换为指定格式的字符串类型。
20.根据本发明提供的基于java的时间格式转换方法,所述时间类型转换方法具体为:
21.将时间类型由字符格式转换为date格式。
22.根据本发明提供的基于java的时间格式转换方法,所述时间月份分割方法具体为:
23.所述时间参数被转换为所述易处理格式后,在所述时间月份分割方法中首先创建一个新的list集合对象,集合类型为string,建立一个循环参数i从1到12的for循环,在循环中对当前数字进行判断;若i小于10,则在前方拼接一个“0”并转换为string格式,若i大于或等于10,则直接转换为字符串,将得到的字符串与时间参数中的年份相拼接,得到年份+月份的“yyyy-mm”字符串;使用list自带的add方法将得到的字符串加入到所述时间月份分割方法开始时创建的list集合中,在循环外,循环结束后,return该集合。
24.根据本发明提供的基于java的时间格式转换方法,所述时间0点转24点方法具体为:
25.将传入的时间参数由当天0点转换为当天24点。
26.根据本发明提供的基于java的时间格式转换方法,所述时间增减方法具体为:
27.将传入的时间参数中的年份、月份和日份中的一种或多种进行加减。
28.相对于现有技术,本发明的有益效果包括:
29.(1)本发明采用对传入信息与预建信息库的比对后,进行关键时间信息提取的方法,将各种开发环境下不同的时间格式处理成目标格式,从而能适应不同的开发环境,提高了信息提取的精度,增强了该工具类的泛用性,可有效缩短开发周期,减少代码的重复,提高系统的稳定性。
30.(2)本发明的非公共转换方法中的5种方法相互独立,采用的处理流程一致,在系统设计中可以按需调用,该工具类调用引入的工具包均为原生自带,无需另外引用其他jar包,减少了系统容量负担。
附图说明
31.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1是本发明实施例提供的基于java的时间格式转换方法的流程示意图。
具体实施方式
33.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.如图1所示,在一个实施例中,提供一种基于java的时间格式转换方法,包括如下s1-s4的步骤:
35.s1.调用方法传递参数,获取需要处理的时间参数。
36.s2.判断所述时间参数的格式是否符合时间格式转换工具类的易处理格式。
37.易处理格式具体为string类型的“yyyy-mm-dd”,其中,yyyy(例如19xx,20xx)代表年份,mm(1-12)代表月份,dd(1-31)代表日份,均为阿拉伯数字形式,例如2022-03-11。
38.s3.若是,则调用所述时间格式转换工具类的非公共转换方法进行处理;若否,则经过所述时间格式转换工具类的公共转换方法进行易处理格式转换后再调用所述非公共转换方法进行处理。
39.所述的时间格式转换工具类具体包括:公共转换方法和非公共转换方法。
40.其中,公共转换方法format具体为:所述时间参数如果不符合所述易处理格式,将自动转入所述公共转换方法,被转换成所述易处理格式。
41.公共转换方法又包括数字识别转换方法和文字识别转换方法中的一种或多种。
42.所述数字识别转换方法对数字日期的年份数字、月份数字和日份数字进行敏感识别,并转换为所述易处理格式。具体的,对通常年份数字(19xx、20xx)、月份数字(1-12)和日期数字(1-31)进行敏感识别,无论排序方式是年月日,还是日月年,无论单位,只要是阿拉伯数字形式的日期就能正常提取信息并转换成本工具类的易处理格式,即“yyyy-mm-dd”。
43.所述文字识别转换方法对文字日期与预留信息库进行比对,并转换为所述易处理格式。具体的,如识别出时间参数不满足阿拉伯数字形式,则会判断是否为文字形式,是否是中文(如“二零一二年三月四日”)或英文(如“march 4,2012”),或者是德文、法文、日文、韩文等其他种类的语言,或者是诸如罗马数字、巴比伦数字等其他数字形式,并与预留信息库进行比对,提取日期信息转换成本工具类易处理格式,然后再返回给原调用转换方法(非公共转换方法中的5种方法)进行处理。
44.其中,非公共转换方法为基于jdk1.8的时间转换工具类,其包括时间格式转换方法、时间类型转换方法、时间月份分割方法、时间0点转24点方法和时间增减方法这5种方法中的一种或多种。非公共转换方法能够减少开发人员的开发时间、一定程度上小幅缩短开发周期、减少代码重复。同时以底层jdk1.8形式对第三方提供方法,减少第三方额外引用其他功能jar包的成本。以上5种方法具有相同的处理步骤:先获取需要处理的时间参数,判断参数格式,根据参数格式不同采用不同的转换方法转换成本工具类便于处理的易处理格式,即“yyyy-mm-dd”;将转换后的参数,根据调用的5种方法的不同,经过不同处理,返回期望结果。
45.所述时间格式转换方法具体为:将date类型的所述时间参数转换为指定格式的字符串类型。更具体的,该方法返回值类型为string;参数1为date类型,表示需要转换的时间参数,参数2为string类型,表示需要转换后的时间展示格式。在该方法中创建以参数2为标
准的simpledateformat类,使用simpledateformat类中的format方法,对参数1进行格式化,得到处理后的一个string对象,将该对象返回,完成方法。
46.所述时间类型转换方法具体为:将时间类型由字符格式转换为date格式。更具体的,该方法返回值类型为date;参数1为string类型,参数2为string类型,表示需要转换后的时间展示格式。参数1经过格式if判断并经过公共转换方法处理成“yyyy-mm-dd”的字符串后,在该方法中创建以参数2为标准的simpledateformat类,使用simpledateformat类中的parse方法,对参数1进行格式化,得到处理后的一个date对象,将该对象返回,完成方法。
47.所述时间月份分割方法具体为:该方法返回值类型为list集合,集合内参数类型为date类型,内容是使用者输入的年份+月份的“yyyy-mm”字符串;参数唯一且类型为string,表示需要分割的时间年份。参数1经过格式if判断并经过公共转换方法处理成“yyyy-mm-dd”的字符串后,在所述时间月份分割方法中首先创建一个新的list集合对象,集合类型为string,建立一个循环参数i从1到12的for循环,在循环中对当前数字进行判断,若i小于10,则在前方拼接一个“0”转换为string格式,若i大于或等于10,则直接转换为字符串,将得到的字符串与参数中的年份相拼接,即可得到年份+月份的“yyyy-mm”字符串;使用list自带的add方法将得到的字符串加入到所述时间月份分割方法开始时创建的list集合中,在循环外,循环结束后,return该集合。使用者使用该方法,只需传输年份,就可得到该年份每个月份的一个年份+月份的“yyyy-mm”字符串,再使用该字符串集合,可进行多种统计及查询操作。
48.所述时间0点转24点方法具体为:将传入的时间参数由当天0点转换为当天24点。更具体的,传入参数1为string类型,该方法返回值为string类型;参数1经过格式if判断并经过公共转换方法处理成“yyyy-mm-dd”的字符串后,在该方法中首先创建以“yyyy-mm-dd”为标准的simpledateformat类,将处理后的传入参数使用日期类进行加一天处理,完成该方法。该方法使用场景为查询某日期之前的数据,由于前端传到后端参数的时间往往知道日期,而直接将时间段用sql查询,由于sql默认知道当前日期0点,所以查询不到某日期当天参数,这时使用该方法,将时间段进行推后一天处理,再将参数用sql查询,即可得到某日期当天数据。
49.所述时间增减方法具体为:将传入的时间参数中的年份、月份和日份中的一种或多种进行加减。更具体的,该方法为时间0点转24点方法的拓展版本,该方法返回值同为string类型;参数1为string类型的需要增减的时间信息;参数2为string类型,用来判断需要增加或减少的单位,有三种值,分别为y、m和d,代表需要增加或减少的单位是年、月和日;参数3为int类型,表示需要增加或减少的值,增长为正数,减少为带负号的负数。使用日期类对处理后的源信息进行处理,完成该方法后得到目标结果。
50.s4.输出处理后的期望格式的时间。
51.传入的时间参数均转换为易处理格式后,通过5种非公共转换方法进行处理后,输出处理后的期望格式的时间。对于使用的任何不同格式传入时间参数,只要是字符串格式,都可以经过本工具类中特意设置的公共转换方法,转换成易处理格式,因此,本发明的泛用性很强。
52.本领域的技术人员容易理解,以上所述仅为本发明的一些较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含
在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1