【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

判断手机号的输入是否正确、获取当前的时间以及显示距离上次发布有多久的时间

原创 2016年05月30日 12:38:04
<span style="font-size:18px;">1、公司要求判断手机号的正确性,所以找到了这个。记下来方便以后使用。</span>

//判断手机号码格式是否正确
<span style="font-size:18px;">+ (BOOL)valiMobile:(NSString *)mobile{
    mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];
    if (mobile.length != 11)
    {
        return NO;
    }else{
        /**
         * 移动号段正则表达式
         */
        NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
        /**
         * 联通号段正则表达式
         */
        NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
        /**
         * 电信号段正则表达式
         */
        NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
        NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
        BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
        NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
        BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
        NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
        BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
        
        if (isMatch1 || isMatch2 || isMatch3) {
            return YES;
        }else{
            return NO;
        }
    }
}
</span>

2、获取当前的时间

<span style="font-size:18px;">//获取当前时间
//format: @"yyyy-MM-dd HH:mm:ss"、@"yyyy年MM月dd日 HH时mm分ss秒"
+ (NSString *)currentDateWithFormat:(NSString *)format{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:format];
    return [dateFormatter stringFromDate:[NSDate date]];
}</span>


3、计算上次日期距离现在多久, 如 xx 小时前、xx 分钟前等

/**
 *  计算上次日期距离现在多久
 *
 *  @param lastTime    上次日期(需要和格式对应)
 *  @param format1     上次日期格式
 *  @param currentTime 最近日期(需要和格式对应)
 *  @param format2     最近日期格式
 *
 *  @return xx分钟前、xx小时前、xx天前
 */
+ (NSString *)timeIntervalFromLastTime:(NSString *)lastTime
                        lastTimeFormat:(NSString *)format1
                         ToCurrentTime:(NSString *)currentTime
                     currentTimeFormat:(NSString *)format2{
    //上次时间
    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc]init];
    dateFormatter1.dateFormat = format1;
    NSDate *lastDate = [dateFormatter1 dateFromString:lastTime];
    //当前时间
    NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init];
    dateFormatter2.dateFormat = format2;
    NSDate *currentDate = [dateFormatter2 dateFromString:currentTime];
    return [Utilities timeIntervalFromLastTime:lastDate ToCurrentTime:currentDate];
}

+ (NSString *)timeIntervalFromLastTime:(NSDate *)lastTime ToCurrentTime:(NSDate *)currentTime{
    NSTimeZone *timeZone = [NSTimeZone systemTimeZone];
    //上次时间
    NSDate *lastDate = [lastTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:lastTime]];
    //当前时间
    NSDate *currentDate = [currentTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:currentTime]];
    //时间间隔
    NSInteger intevalTime = [currentDate timeIntervalSinceReferenceDate] - [lastDate timeIntervalSinceReferenceDate];

    //秒、分、小时、天、月、年
    NSInteger minutes = intevalTime / 60;
    NSInteger hours = intevalTime / 60 / 60;
    NSInteger day = intevalTime / 60 / 60 / 24;
    NSInteger month = intevalTime / 60 / 60 / 24 / 30;
    NSInteger yers = intevalTime / 60 / 60 / 24 / 365;

    if (minutes <= 10) {
        return  @"刚刚";
    }else if (minutes < 60){
        return [NSString stringWithFormat: @"%ld分钟前",(long)minutes];
    }else if (hours < 24){
        return [NSString stringWithFormat: @"%ld小时前",(long)hours];
    }else if (day < 30){
        return [NSString stringWithFormat: @"%ld天前",(long)day];
    }else if (month < 12){
        NSDateFormatter * df =[[NSDateFormatter alloc]init];
        df.dateFormat = @"M月d日";
        NSString * time = [df stringFromDate:lastDate];
        return time;
    }else if (yers >= 1){
        NSDateFormatter * df =[[NSDateFormatter alloc]init];
        df.dateFormat = @"yyyy年M月d日";
        NSString * time = [df stringFromDate:lastDate];
        return time;
    }
    return @"";
}
NSLog(@"\n\nresult: %@", [Utilities timeIntervalFromLastTime:@"2016年5月8日 15:50"
                                           lastTimeFormat:@"yyyy年MM月dd日 HH:mm"
                                            ToCurrentTime:@"2016/05/08 16:12"
                                        currentTimeFormat:@"yyyy/MM/dd HH:mm"]);


如果对大家有用希望顶一下呀!!! 大笑
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

通过日期计算距离当前时间的距离

格式1 通过(2014-12-11 22:22:22) 获得 今天22:22 ,昨天22:22 , 2天前 , 1个月前 , 3年前 NSString *dateStr = @"2015-...

判断当前时间到结束时间的某个时间段的时间

//1     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         Calendar c = C...

查询距离当前时间5分钟的数据

查询距离当前时间5分钟的数据 最近在做项目的过程中,需要用定时任务查询最近一段时间内数据库更新的数据: SimpleDateFormat sdf=new SimpleDateFormat("yyy...

js 文章、通知、公告、新闻等发布时间计算

/** * 时间计算器 * @param {String} t,yyyy-MM-dd HH:mm:ss格式 */function calcTime(t) { var str = ''; i...

PHP消息发布时间距当前时间差距函数

/** * 计算给定时间戳与当前时间相差的时间,并以一种比较友好的方式输出 * @param [int] $timestamp [给定的时间戳] * @param [int] $curren...

类似新浪微博动态发布时间转换机制,显示刚刚、几分钟前、几小时前、昨天、前天····

经常看到社交类app中关于动态发布的时间点与当前时间的换算,说麻烦也不麻烦,说简单也不简单,只是计算起来有点绕。如以当前时间为基准,自己某个时间在微博上发表一个动态,发表时间提示有多种显示,如刚刚、几...
  • hap_gx
  • hap_gx
  • 2013-04-10 14:20
  • 2688

asp.net 处理和计算微博发布时间

using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Wi...

批量修改帝国CMS发布时间,最简单的方法!

打开后台:找到如下SQL执行 根据你的要操作的模型选择执行如下SQL脚本: 比如这是新闻模型的: 下面这个是文章模型的: UPDATE www_...

获取 (设备名称;操作系统;设备串号;分片率;用户语言) 产品名称/发布日期 ver/版本号

+ (NSString *)deviceUserAgent {      //Mozilla/5.5 (设备名称;操作系统;设备串号;分片率;用户语言) 产品名称/发布日期 ver/版本号  ...

APP发布时间技巧,星期几是发布应用的最佳日期?

为了了解星期几是发布应用的最佳和最糟糕的日期,移动分析服务机构Mobilewalla对在2011年5月16日至9月8日期间在iTunes应用商店和Android市场上发布的应用进行了跟踪调查,调查结果...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)