今天又和前端联调了一天的程序,比较烦。产品有个需求是日期和时间分开显示的,正常都是两个连在一起然后用空格隔开,因为要想校验时间的对错,就需要把传过来的时间用strtotime转换成时间戳,然后在用date转换成时间格式,但是若是传的时间格式不对,那么最后转换成的时间就是unix的初始时间08:00:00,这样存在一个问题就是万一活动的开始时间就是08:00:00呢?所以我就把日期和时间放在一起转成时间戳,因为不管日期还是是时间出错,只要有一个错的传换回来的日期已一定会是1970-01-01,所以根据日期一旦是这个,我就提示日期或时间出错。这不是最烦的,今天 最烦的是匹配时间的正则表达式,当初学正则表达式的时候觉得没什么,那么规则太多记不住,也没想背,想着用的时候上网一查就有了,呵呵,真的是一查就有了,但是大多数都不靠谱!!!今天就是因为这个正则卡了我好久,后来还是自己写的管用,自己之前的想法是错的,学什么不能差不多就行,到真正用的时候就会吃大亏。今天处理问题的时候也有些急躁,感觉有点不冷静了,哎,看来还要继续修炼啊,成仙的路还远着呢。不说了奉上我的时间正则表达式:(([0-1][0-9])|2[0-3]):([0-5][5-9]):([0-5][0-9]),其实也不难,但是一定要注意的是在函数里用的时候一定要在开头结尾加上 / 。
今天的第二个问题是读取的文件每行后面会多一个换行符,这样每行的最后一个字段就会多一个字符,尴尬的是我的很多最后一个字段都是数字或是数字字符串,我要判断他们是否是数字,用is_numeric(),这样这个换行符就会影响我的判断,最后只能在分割字符串的时候用substr($str,0,-1)把最后的换行符去掉。。。
原文地址:https://www.cnblogs.com/yjb333/p/9344617.html