项目中用到了许多需要处理时间的地方,专门写了一个类来进行处理。多年之后当我再次看到这个东西时希望我可以微笑面对。

  首先是.h文件

#import <Foundation/Foundation.h>

#import "ALUserDetailAccount.h"

#import "ALLMFTiXianListModel.h"

@interface LMFAnalysisTime : NSObject

#pragma mark --将时间转换成星期

+ (NSString *)changeTimeStringToWeekWith:(NSString *)time;

#pragma mark --将时间转换成时分

+ (NSString *)changeTimeStringToHMWith:(NSString *)time;

#pragma mark --根据日期判断是星期几

+ (NSString *)weekdayStringFromDate:(NSString *)time;

#pragma mark --判断给定日期的下一天

+ (NSString *)nextDayTimeStringWith:(NSString *)time;

#pragma mark --判断是不是一周内

+ (BOOL)ifDateInAweekToNow:(NSString *)time;

#pragma mark --判断是不是从当前时间开始的一周内,今天不行

+ (BOOL)ifDateInAweekFromTomorrow:(NSString *)time;

#pragma mark --判断日期是否是从今天开始今天或今天以后的日期

+ (BOOL)ifDateIsAfterToday:(NSString *)time containToday:(BOOL)flag;

#pragma mark --判断是第几月

+ (NSString *)monthStringWith:(NSString *)time;

#pragma mark --返回某一种状态下某个时间段的数据

+ (NSArray *)dataWithState:(NSString *)state andTime:(NSString *)time;

#pragma mark --判断刷新请求的数据是否已经存在了

+ (BOOL)ifDateExistInArray:(NSArray *)array andTimeString:(NSString *)time;

#pragma mark --判断一维数组中数据是否已经存在

+ (BOOL)ifDateExistInOneArray:(NSArray *)array andTimeString:(NSString *)time;

#pragma mark --判断日期是否是今天或者昨天

+ (BOOL)iFDateIsTodayOrYesterdayWith:(NSString *)time;

#pragma mark --判断日期是否是今天

+ (BOOL)ifDateIsToday:(NSString *)time;

#pragma mark --计算年龄

+ (NSString *)changeBirthdayStringToAge:(NSString *)time;

#pragma mark --判断往期数据是否存在了

+ (BOOL)ifExerciseDataInArray:(NSArray *)array andMid:(NSString *)mid;

+ (BOOL)ifExercisePhotoIsExistInArray:(NSArray *)array andExerciseDate:(NSString *)date;

+ (BOOL)ifTogetherExercisePhotoIsExistInArray:(NSArray *)array andExerciseDate:(NSString *)date;

+ (BOOL)ifKnowledgeHasRead:(NSString *)mid;

#pragma mark --将设置的时间转化为闹钟的秒数

+ (NSArray *)changeTimeToSeconds:(NSArray *)timeArray;

#pragma mark --判断银行卡是否重复了

+ (BOOL)ifCardHasExist:(NSArray *)array and:(ALLMFTiXianListModel *)model;

#pragma mark --判断日期是当天的第几天,当天为第一天

+ (NSInteger)indexOfDateFromToday:(NSString *)time;

#pragma mark --将日期转化为星座

+ (NSString *)changeDateToConstellation:(NSString *)time;

#pragma mark --将日期转化为月日

+ (NSString *)changeDateToMonthAndDay:(NSString *)time;

@end

  下面是.m文件

#import "LMFAnalysisTime.h"

#import "YRDateFormater.h"

#import "ALExerciseAllCellModel.h"

#import "ALLMFExerciseTogetherPhotosModel.h"

@class LMFAnalysisTime;

@implementation LMFAnalysisTime

#pragma mark --将时间转换成星期

+ (NSString *)changeTimeStringToWeekWith:(NSString *)time

{

NSString *week;

YRDateFormater *endt = [[YRDateFormater alloc] init];

NSString *nowTime = [endt dateToStringYMD:[NSDate date]];

//第一步,判断是不是同一天2016-03-20  2016-03-21

NSString *temp = [time substringToIndex:10];

if ([temp isEqualToString:nowTime])

{

week = @"今天";

return week;

}

else

{

NSString *tomorrow = [LMFAnalysisTime nextDayTimeStringWith:time];

if ([[tomorrow substringToIndex:10] isEqualToString:nowTime])

{

week = @"昨天";

}

else

{

week = [LMFAnalysisTime weekdayStringFromDate:time];

}

}

return week;

}

#pragma mark --将时间转换成时分

+ (NSString *)changeTimeStringToHMWith:(NSString *)time

{

return [time substringWithRange:NSMakeRange(11, 5)];

/*

NSString *monthAndDay;

YRDateFormater *endt = [[YRDateFormater alloc] init];

NSString *nowTime = [endt dateToStringYMD:[NSDate date]];

//第一步,判断是不是同一天2016-03-20 00:00:00 2016-03-21

NSString *temp = [time substringToIndex:10];

if ([temp isEqualToString:nowTime])

{

monthAndDay = [time substringWithRange:NSMakeRange(11, 5)];

return monthAndDay;

}

else

{

NSString *tomorrow = [LMFAnalysisTime nextDayTimeStringWith:time];

if ([tomorrow isEqualToString:nowTime])

{

//如果是昨天

monthAndDay = [time substringWithRange:NSMakeRange(11, 5)];

}

else

{

//不是昨天

monthAndDay = [time substringWithRange:NSMakeRange(5, 5)];

}

}

return monthAndDay;

*/

}

+ (NSString *)nextDayTimeStringWith:(NSString *)time

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *inputDate = [formatter dateFromString:time];

NSDate *tomorrow = [NSDate dateWithTimeInterval:60 * 60 * 24 sinceDate:inputDate];

NSString *tomorrowTime = [formatter stringFromDate:tomorrow];

return tomorrowTime;

}

+ (NSString*)weekdayStringFromDate:(NSString *)time {

//判断是否是今天或者昨天

if ([LMFAnalysisTime iFDateIsTodayOrYesterdayWith:time])

{

NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];

[calendar setTimeZone: timeZone];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *inputDate = [formatter dateFromString:time];

NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;

NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];

return [weekdays objectAtIndex:theComponents.weekday];

}

else

{

return [time substringWithRange:NSMakeRange(5, 5)];

}

}

+ (BOOL)ifDateInAweekToNow:(NSString *)time

{

//获取当前时间YYYY-MM-dd

YRDateFormater *formatter = [[YRDateFormater alloc] init];

NSString *nowTime = [formatter dateToStringYMD:[NSDate date]];

for (int i=0; i<7; i++)

{

//通过判断从给定时间的第几天是不是今天来判断一周以内

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *inputDate = [formatter dateFromString:time];

NSDate *tomorrow = [NSDate dateWithTimeInterval:i * 60 * 60 * 24 sinceDate:inputDate];

NSString *tomorrowTime = [formatter stringFromDate:tomorrow];

NSString *temp = [tomorrowTime substringToIndex:10];

//        NSLog(@"%@-------%@----", temp, time);

if ([temp isEqualToString:nowTime])

{

return YES;

}

}

return NO;

}

+ (BOOL)ifDateInAweekFromTomorrow:(NSString *)time

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSString *tomorrow = [formatter stringFromDate:[NSDate dateWithTimeInterval:60*60*24 sinceDate:[NSDate date]]];

for (int i=0; i<6; i++)

{

NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];

[formatter1 setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *inputDate = [formatter dateFromString:tomorrow];

NSDate *tomorrow1 = [NSDate dateWithTimeInterval:i * 60 * 60 * 24 sinceDate:inputDate];

NSString *tomorrowTime1 = [formatter stringFromDate:tomorrow1];

NSString *temp = [tomorrowTime1 substringToIndex:10];

NSLog(@"----%@-------%@-----", time, temp);

if ([temp isEqualToString:time])

{

return YES;

}

}

return NO;

}

#pragma mark --判断日期是否是从今天开始今天或今天以后的日期

+ (BOOL)ifDateIsAfterToday:(NSString *)time containToday:(BOOL)flag

{

/*today YYYY:mm:dd

time YYYY:mm:dd HH:mm:ss

*/

YRDateFormater *formatter = [[YRDateFormater alloc] init];

NSString *todayDate = [formatter dateToStringYMD:[NSDate date]];

//    NSLog(@"the date of today is : %@", todayDate);

NSInteger nowY = [[todayDate substringToIndex:4] integerValue];

NSInteger nowM = [[todayDate substringWithRange:NSMakeRange(5, 2)] integerValue];

NSInteger nowD = [[todayDate substringWithRange:NSMakeRange(8, 2)] integerValue];

NSInteger timeY = [[time substringToIndex:4] integerValue];

NSInteger timeM = [[time substringWithRange:NSMakeRange(5, 2)] integerValue];

NSInteger timeD = [[time substringWithRange:NSMakeRange(8, 2)] integerValue];

//    NSLog(@"year:%li month:%li day:%li", nowY, nowM, nowD);

//    NSLog(@"year:%li month:%li day:%li", timeY, timeM, timeD);

if (timeY < nowY)

{

return NO;

}

else

{

if (timeY == nowY)

{

if (timeM < nowM)

{

return NO;

}

else

{

if (timeM == nowM)

{

if (flag)

{

if (timeD < nowD)

{

return NO;

}

return YES;

}

else

{

if (timeD <= nowD)

{

return NO;

}

return YES;

}

}

else

{

return YES;

}

}

}

else

return YES;

}

}

+ (NSString *)monthStringWith:(NSString *)time

{

NSString *month;

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSString *nowTime = [formatter stringFromDate:[NSDate date]];

if ([[time substringToIndex:4] isEqualToString:[nowTime substringToIndex:4]])

{

if ([[time substringWithRange:NSMakeRange(5, 2)] isEqualToString:[nowTime substringWithRange:NSMakeRange(5, 2)]])

{

month = @"本月";

}

else

{

month = [NSString stringWithFormat:@"%@月", [time substringWithRange:NSMakeRange(5, 2)]];

}

}

else

{

month = @"更早";

}

return month;

}

+ (NSArray *)dataWithState:(NSString *)state andTime:(NSString *)time

{

NSMutableArray *dataArray = [NSMutableArray array];

return dataArray;

}

+ (BOOL)ifDateExistInArray:(NSArray *)array andTimeString:(NSString *)time

{

BOOL flag = NO;

//二维

for (NSArray *smallArray in array)

{

if ([smallArray isKindOfClass:[NSArray class]])

{

for (ALUserDetailAccount *model in smallArray)

{

if ([[model mid] isEqualToString:time])

{

return YES;

}

}

}

}

return flag;

}

+ (BOOL)ifDateExistInOneArray:(NSArray *)array andTimeString:(NSString *)time

{

for (ALUserDetailAccount *model in array)

{

if ([[model mid] isEqualToString:time])

{

return YES;

}

}

return NO;

}

+ (BOOL)iFDateIsTodayOrYesterdayWith:(NSString *)time

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSString *nowTime = [formatter stringFromDate:[NSDate date]];

if ([[time substringToIndex:10] isEqualToString:[nowTime substringToIndex:10]])

{

return YES;

}

else

{

//是否是昨天

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *inputDate = [formatter dateFromString:time];

NSDate *tomorrow = [NSDate dateWithTimeInterval:-1 * 60 * 60 * 24 sinceDate:inputDate];

NSString *tomorrowTime = [formatter stringFromDate:tomorrow];

NSString *temp = [tomorrowTime substringToIndex:10];

if ([temp isEqualToString:[nowTime substringToIndex:10]])

{

return YES;

}

else

{

return NO;

}

}

}

+ (BOOL)ifDateIsToday:(NSString *)time

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSString *nowTime = [formatter stringFromDate:[NSDate date]];

if ([[time substringToIndex:10] isEqualToString:[nowTime substringToIndex:10]])

{

return YES;

}

return NO;

}

+ (NSString *)changeBirthdayStringToAge:(NSString *)time

{

NSString *ageStr;

if ([time length] < 10)

{

return @"0岁";

}

YRDateFormater *formatter = [[YRDateFormater alloc] init];

NSString *nowTime = [formatter dateToStringYMD:[NSDate date]];

NSString *birthday = [time substringToIndex:10];

NSInteger nowYear = [[nowTime substringToIndex:4] integerValue];

NSInteger nowMonth = [[nowTime substringWithRange:NSMakeRange(5, 2)] integerValue];

NSInteger nowDay = [[nowTime substringFromIndex:8] integerValue];

NSInteger birthdayYear = [[birthday substringToIndex:4] integerValue];

NSInteger birthdayMonth = [[birthday substringWithRange:NSMakeRange(5, 2)] integerValue];

NSInteger birthdayDay = [[birthday substringFromIndex:8] integerValue];

NSInteger age = nowYear - birthdayYear - 1;

if (nowMonth > birthdayMonth)

{

age++;

}

else if (nowMonth == birthdayMonth)

{

if (nowDay >= birthdayDay)

{

age++;

}

}

ageStr = [NSString stringWithFormat:@"%li岁 ", age];

return ageStr;

}

+ (BOOL)ifExerciseDataInArray:(NSArray *)array andMid:(NSString *)mid

{

if ([array count])

{

for (ALExerciseAllCellModel *obj in array)

{

if ([obj.mid isEqualToString:mid])

{

return YES;

}

}

}

return NO;

}

+ (BOOL)ifExercisePhotoIsExistInArray:(NSArray *)array andExerciseDate:(NSString *)date

{

if ([array count])

{

for (ALLMFExercisePhotosModel *model in array)

{

if ([model.exerciseTime isEqualToString:date])

{

return YES;

}

}

}

return NO;

}

+ (BOOL)ifTogetherExercisePhotoIsExistInArray:(NSArray *)array andExerciseDate:(NSString *)date

{

if ([array count])

{

for (ALLMFExerciseTogetherPhotosModel *model in array)

{

if ([model.exerciseTime isEqualToString:date])

{

return YES;

}

}

}

return NO;

}

+ (NSArray *)changeTimeToSeconds:(NSArray *)timeArray

{

NSMutableArray *secondsArray = [NSMutableArray array];

for (NSString *time in timeArray)

{

NSString *currentTime;

if ([time length] == 5)

{

currentTime = [NSString stringWithFormat:@"%@:00", time];

}

else

{

currentTime = [NSString stringWithFormat:@"0%@:00", time];

}

NSDateFormatter *judgeFormatter = [[NSDateFormatter alloc] init];

[judgeFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSString *nowTime = [[[judgeFormatter stringFromDate:[NSDate date]] substringFromIndex:11] stringByReplacingOccurrencesOfString:@" " withString:@""];

NSInteger currentHour = [[currentTime substringToIndex:2] integerValue];

NSInteger currentMinute = [[currentTime substringWithRange:NSMakeRange(3, 2)] integerValue];

NSInteger currenSecond = 0;

NSInteger nowHour = [[nowTime substringToIndex:2] integerValue];

NSInteger nowMinute = [[nowTime substringWithRange:NSMakeRange(3, 2)] integerValue];

NSInteger nowSecond = [[nowTime substringFromIndex:6] integerValue];

NSInteger timeCha;

NSInteger hourCha = currentHour - nowHour;

NSInteger minuteCha = currentMinute - nowMinute;

NSInteger secondCha = currenSecond - nowSecond;

timeCha = hourCha*3600+minuteCha*60+secondCha;

NSLog(@"%li", timeCha);

[secondsArray addObject:[NSString stringWithFormat:@"%li", timeCha]];

}

return secondsArray;

}

+ (BOOL)ifCardHasExist:(NSArray *)array and:(ALLMFTiXianListModel *)model

{

if ([array count])

{

for (int i=0; i<[array count]; i++)

{

ALLMFTiXianListModel *obj = [[array objectAtIndex:i] objectAtIndex:0];

if ([obj.cardNo isEqualToString:model.cardNo])

{

return YES;

}

}

return NO;

}

else

{

return NO;

}

}

+ (NSInteger)indexOfDateFromToday:(NSString *)time

{

NSInteger index;

/*获取当前日期*/

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *date = [NSDate date];

/*将传入的时间拼接成标注格式的日期*/

NSString *currentTime = time;

if ([time length] < 19)

{

currentTime = [NSString stringWithFormat:@"%@ 00:00:00", time];

}

for (NSInteger i=0; i<10; i++)

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate *tomorrow = [NSDate dateWithTimeInterval:-i * 60 * 60 * 24 sinceDate:date];

NSString *tomorrowTime = [formatter stringFromDate:tomorrow];

NSString *temp = [tomorrowTime substringToIndex:10];

index = i+1;

if ([temp isEqualToString:time])

{

return index;

}

}

return 11;

}

+ (BOOL)ifKnowledgeHasRead:(NSString *)mid

{

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

NSString *userId = [userDefaults objectForKey:@"userId"];

NSString *key = [NSString stringWithFormat:@"%@_hasRead", userId];

NSMutableArray *dicArray = [NSMutableArray array];

dicArray = [[[ALCacheService shareCacheService] getDictionaryForKey:key tableName:@"knowledgeTable"] objectForKey:@"hasRead"];

if ([dicArray count])

{

for (NSDictionary *dic in dicArray)

{

if ([mid isEqualToString:[dic objectForKey:@"hasRead"]])

{

return YES;

}

}

return NO;

}

else

{

return NO;

}

return NO;

}

+ (NSString *)changeDateToConstellation:(NSString *)time

{

NSString *constellation = @"猎户座";

NSInteger index = 0;

NSArray *constellationArray = @[@"魔蝎座", @"水瓶座" ,@"双鱼座" ,@"白羊座" ,@"金牛座" ,@"双子座" ,@"巨蟹座" ,@"狮子座", @"处女座", @"天秤座", @"天蝎座", @"射手座"];

/*12.22-1.19  1.20-2.18  2.19-3.20  3.21-4.19  4.20-5.20  5.21-6.21  6.22-7.22  7.23-8.22  8.23-9.22 9.23-10.23 10.24-11.22 11.23-12.21*/

NSDictionary *dic = @{@"12":@"22", @"1":@"20", @"2":@"19", @"3":@"21", @"4":@"20", @"5":@"21", @"6":@"22", @"7":@"23", @"8":@"23", @"9":@"23", @"10":@"24", @"11":@"23"};

/*

2016-10-10 00:00:00

规则是:首先将时间分割成月和日

通过月找到对应的日,判断日期是否大于临界点,大则加1

*/

NSString *month = @"3";

NSInteger day;

if ([time length] >= 10)

{

NSString *monthStr = [time substringWithRange:NSMakeRange(5, 2)];

month = [NSString stringWithFormat:@"%li", [monthStr integerValue]];

day = [[time substringWithRange:NSMakeRange(8, 2)] integerValue];

}

else if ([time length] == 4 || [time length] == 5)

{

NSRange range;

if ([time contains:@"-"])

{

range = [time rangeOfString:@"-"];

}

else if ([time contains:@"."])

{

range = [time rangeOfString:@"."];

}

else

{

range = NSMakeRange(0, 0);

}

if (range.length && range.location != NSNotFound)

{

NSString *monthStr = [time substringToIndex:range.location];

month = [NSString stringWithFormat:@"%li", [monthStr integerValue]];

day = [[time substringFromIndex:range.location+1] integerValue];

}

else

{

return constellation;

}

}

else

{

return constellation;

}

index = [month integerValue]%12;

NSInteger temp = [[dic objectForKey:month] integerValue];

if (day < temp)

{

index--;

if (index < 0)

{

index = 11;

}

}

return constellationArray[index];

}

+ (NSString *)changeDateToMonthAndDay:(NSString *)time

{

NSString *monthAndDay = @"01月01日";

if ([time length] >= 10)

{

NSString *month = [time substringWithRange:NSMakeRange(5, 2)];

NSString *day = [time substringWithRange:NSMakeRange(8, 2)];

monthAndDay = [NSString stringWithFormat:@"%@月%@日", month, day];

}

return monthAndDay;

}

@end

  上面有几个文件没有的可以删除,然后删除对应的几个方法。(菜鸟成长之路,望各位大神指教?)

转载于:https://www.cnblogs.com/lmfboke/p/5564701.html

时间字符串以及时间戳解析相关推荐

  1. php 字符串转时间戳_php如何将时间字符串转换为时间戳

    php将时间字符串转换为时间戳的方法:可以利用内置函数strtotime()来实现.strtotime()函数可以将任何英文文本的日期或时间描述解析为Unix时间戳,若成功则返回时间戳,否则返回fal ...

  2. golang时间字符串和时间戳转换

    1. 获取当前时间字符串和时间戳 package mainimport ("fmt""time" )func main() {now := time.Now() ...

  3. golang的time包:时间字符串和时间戳的相互转换

    本博客转自: https://blog.csdn.net/mirage003/article/details/86073046 package mainimport ("log"& ...

  4. 时间字符串与时间戳批量转换

    原文博客地址:https://blog.csdn.net/s1164548515/article/details/100186773 时间字符串与时间戳批量转换 import pandas as pd ...

  5. C/C++时间字符串和时间戳的相互转化

    用到的函数主要有strftime.strptime .localtime .mktime. 名词解释: 时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日 ...

  6. Scala 将时间字符串转为时间戳

    今天需要将Nginx日志中的时间字符串转为时间戳,再加以分析,由于刚学Scala不久,Java也只是一知半解,所以在时间转换的时候浪费了一些时间,故在此备忘,也希望能帮到有需要的同学. 部分日志格式如 ...

  7. java时间字符串转时间戳

    java时间字符串转时间戳 测试类 代码片. @Testpublic void dateToStamp() throws Exception {String str = "2019-03-1 ...

  8. 时间字符串和时间戳的转换

    时间字符串转换为时间戳方法 1.new Date().getTime() new Date('2021-12-14 10:10:00').getTime()  // 1639447800000 2.D ...

  9. Golang获取年月日时间字符串和时间戳

    1.获取字符串时间 //获取年.月.日.时.分.秒 getYear := time.Now().Year() //获取年 getMonth := time.Now().Format("01& ...

  10. LabVIEW中将日期时间字符串转换为时间戳数据说明与例程

    LabVIEW中将日期时间字符串转换为时间戳数据说明与例程 在LabVIEW中,您可以将字符串数据转换为时间戳数据.如果您希望在测量文件中的数据旁边添加时间戳或轻松比较两个数据点之间的时间,则这可能会 ...

最新文章

  1. ViewPager,TabLayout,Fragment实现tabs滑动
  2. JS 与 JAVA 跨语言实现 RSA 和 AES加密算法
  3. 红橙Darren视频笔记 面试题 为什么view获取宽高为0 onCreate onResume view.post源码浅析(继承activity api27)
  4. 百度地图infowindow的close事件_高德地图,百度地图,腾讯地图哪个更准?
  5. ubuntu镜像添加jdk_docker基础镜像ubuntu添加jdk1.8
  6. Windows Gadget 制作二
  7. 写个类操作窗口(句柄操作)
  8. 基于知识的智能体 笔记
  9. vue 导入excel解析_Vue实现Excel导入并解析
  10. 《自然语言处理:基于预训练模型的方法》第七章 预训练语言模型-BERT
  11. C/S权限系统得到拼音和五笔的自定义函数(二)
  12. 服务器端身份验证技术,身份认证技术和协议的常用方法
  13. 性能测试入门(一):性能测试中的各项指标告诉我们什么
  14. 弘辽科技:淘宝提升销量不评价有效果吗?不提升销量能做起来吗?
  15. 7个最佳WordPress视频库插件
  16. 2017-03-27Oracle故障gc buffer busy acquire导致数据库不可用
  17. jQuery笔试题汇总整理--2018
  18. HTTP状态码 201 304 404 500等代表的含义
  19. 单词 ----- part8
  20. 华为 MPLS LDP MP-BGP

热门文章

  1. jQuery的文档操作
  2. Struts2+Spring3+MyBatis3整合以及Spring注解开发
  3. 企业网盘2016年度深度盘点,哪家才是NO.1?
  4. 关于第十届省赛失败的总结
  5. memcached命令
  6. angular第六天
  7. 照片教你eclipse通过使用gradle 打包Android
  8. Linux的环境变量总结
  9. cakephp2.X教程第一部分(基于cakephp1.3.4在线教程的改编)
  10. 华为培训视频-AAA培训