今天我们要制作一个demo,用户只需要输入身份证号,就能够获取到用户的生日,年龄,并计算出距离用户下一次过生日还有多少天。demo中主要用到了字符串的分割和函数组件,下面是具体的实现步骤。
第一步是用今年的年份加上身份证号中的月份和日期拼接出用户yyyy-mm-dd格式的今年生日日期,然后获取这个日期的时间戳(时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数)。
第二步同理,拼接出yyyy-mm-dd格式的当天日期并获取其时间戳。
第三步则根据前面两个时间戳进行一个判断,如果当天日期的时间戳更小则说明用户今年还没有过生日,则直接用今年生日日期时间戳减去当天日期时间戳,然后将结果转换成以日为单位即可,反之则拼接出用户明年生日日期并获取时间戳再减去当当天日期时间戳进行计算。(demo中没有处理生日为闰年2月29号的情况,大家可以自行添加逻辑)
其实函数组件部分的内容也是可以写在一个动作组内的,yyyy-mm-dd格式日期就是一个字符串,可以用文本变量存储,而时间戳可以用数值变量存储,另外当前动作组设置返回结果的动作就类似于函数中的return,这里做了一个简单的示范,剩余部分大家可以自己尝试一下,最后是可以和函数组件一样调用并且在回调中拿到计算结果的。