#import <Foundation/Foundation.h>

@interface NSDate (SLExtend)

// 判断是否是本周更早

- (BOOL)isThisWeekEarlier;

// 判断是否是本周晚些

- (BOOL)isThisWeekLater;

// 判断是否是下一周或者更远

- (BOOL)isNextWeekOrLater;

// 判断是否是上一周或者更早

- (BOOL)isLastWeekOrEarlier;

// 判断是否是昨天或更早

- (BOOL)isYesterdayOrEarlier;

// 判断是否是明天或更晚

- (BOOL)isTomorrowOrLater;

// 判断是否是前天

- (BOOL)isTheDayBeforeYesterday;

// 判断是否是昨天

- (BOOL)isYesterDay;

// 判断是否是今天

- (BOOL)isToday;

// 判断是否是明天

- (BOOL)isTomorrow;

// 判断是否是后天

- (BOOL)isTheDayAfterTomorrow;

// 转换成年月日(其他补0)

- (NSDate *)convertDefinitionToDate;

// 转换标准时间

- (NSString *)convertToStandardDateFormat;

// 转换本星期标准时间

- (NSString *)convertToStandardThisWeekDateFormat;

// 转换成标准前天、昨天、今天、明天、后天时间

- (NSString *)convertToStandardRecentlyDateFormat;

// 转换成时间

- (NSString *)convertToStandardTimeDateFormat;

// 转换成标准时间(不带星期)

- (NSString *)convertToStandardNormalDateFormat;

// 转换成YYYY-MM-DD HH:MM:SS格式时间

- (NSString *)convertToStandardYYYYMMDDHHMMSSDateFormat;

// 转换成YYYY-MM-DD

- (NSString *)convertToStandardYYYYMMDDDateFormat;

// 转换成YYYYMMDDHHMMSS

- (NSString *)convertToYYYYMMDDHHMMSSDateFormat;

// 指定日期是星期几,1表示一周的第一天周日

+ (int)weekdayByDate:(NSDate *)date;

+ (NSString *)weekdayInChineseByDate:(NSDate *)date;

// 指定时间往前推多少天

+ (NSDate *)dateWithDays:(NSUInteger)days beforDate:(NSDate *)date;

+ (NSDate *)dateWithDays:(NSUInteger)days afterDate:(NSDate *)date;

// 获取某个时间点前多少天的总集合

+ (NSArray *)dayNamesAtDays:(NSInteger)days beforDate:(NSDate *)date;

// 获取年

+ (int)yearByDate:(NSDate *)date;

// 获取月

+ (int)monthByDate:(NSDate *)date;

// 获取日

+ (int)dayByDate:(NSDate *)date;

// 该日期处于一年中的第几周

+ (int)weekOfYearByDate:(NSDate *)date;

//获取当前的时间HH:mm

+ (NSString *)getCurrentDateHHMM;

//获取当前的时间yyyyMMdd HH:mm

+(NSString *)getCurrentDateYYYYMMDDHHMM;

//获取指定的时间yyyyMMdd

+(NSString *)getDateYYYYMMDD:(NSDate *)date;

// 该月有多少天

+ (int)daysInMonthByDate:(NSDate *)date;

+ (NSString *)convertToyyyMMddHHmmssString:(NSDate *)date;

+ (NSDate *)convertDateFromString:(NSString*)uiDate;

+ (NSDate *)stringToDate:(NSString *)dateString;

@end

#import "NSDate+SLExtend.h"

@implementation NSDate (SLExtend)

- (NSDate *)dateStartOfWeek

{

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

[gregorian setFirstWeekday:2]; //monday is first day

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:self];

NSDateComponents *componentsToSubtract = [[NSDateComponents alloc] init];

[componentsToSubtract setDay: - ((([components weekday] - [gregorian firstWeekday]) + 7 ) % 7)];

NSDate *beginningOfWeek = [gregorian dateByAddingComponents:componentsToSubtract toDate:self options:0];

NSDateComponents *componentsStripped = [gregorian components: (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate: beginningOfWeek];

beginningOfWeek = [gregorian dateFromComponents: componentsStripped];

return beginningOfWeek;

}

// ================================ 扩展 ===========================

// 判断是否是昨天或更早

- (BOOL)isYesterdayOrEarlier

{

NSDate *yesterdayDefintionDate = [NSDate dateWithTimeIntervalSinceNow:-60 * 60 * 24];

NSDate *definitionDate = [self convertDefinitionToDate];

if ([yesterdayDefintionDate isEqualToDate:definitionDate]) {

return YES;

}

NSDate *earlierDate = [definitionDate earlierDate:[NSDate date]];

if (earlierDate == self) {

return YES;

}

return NO;

}

// 判断是否是明天或更晚

- (BOOL)isTomorrowOrLater

{

NSDate *tomorrowDefintionDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24];

NSDate *definitionDate = [self convertDefinitionToDate];

if ([tomorrowDefintionDate isEqualToDate:definitionDate]) {

return YES;

}

NSDate *laterDate = [definitionDate laterDate:tomorrowDefintionDate];

if (laterDate == self) {

return YES;

}

return NO;

}

// =================================================================

// 判断是否是下一周或者更远

- (BOOL)isNextWeekOrLater

{

if (![self isThisWeek]) {

NSDate *laterDate = [self laterDate:[NSDate date]];

if (laterDate == self) {

return YES;

}

}

return NO;

}

// 判断是否是上一周或者更早

- (BOOL)isLastWeekOrEarlier

{

if (![self isThisWeek]) {

NSDate *earlierDate = [self earlierDate:[NSDate date]];

if (earlierDate == self) {

return YES;

}

}

return NO;

}

// 判断是否是本周

- (BOOL)isThisWeek

{

NSDate *thisWeekStartDay = [[NSDate date] dateStartOfWeek];

if ([thisWeekStartDay isEqualToDate:[self dateStartOfWeek]]) {

return YES;

}

return NO;

}

// 判断是否是本周更早

- (BOOL)isThisWeekEarlier

{

if ([self isThisWeek]) {

NSDate *earlierDate = [self earlierDate:[NSDate date]];

if (earlierDate == self) {

return YES;

}

}

return NO;

}

// 判断是否是本周晚些

- (BOOL)isThisWeekLater

{

if ([self isThisWeek]) {

NSDate *laterDate = [self laterDate:[NSDate date]];

if (laterDate == self) {

return YES;

}

}

return NO;

}

// 判断是否是前天

- (BOOL)isTheDayBeforeYesterday

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:[NSDate dateWithTimeIntervalSinceNow:-60 * 60 * 24 * 2]];

NSDate *dayAfterTomorrow = [cal dateFromComponents:components];

components = [cal components:calendarUnit fromDate:self];

NSDate *otherDate = [cal dateFromComponents:components];

if([dayAfterTomorrow isEqualToDate:otherDate]) {

return YES;

}

return NO;

}

// 判断是否是昨天

- (BOOL)isYesterDay

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:[NSDate dateWithTimeIntervalSinceNow:-60 * 60 * 24]];

NSDate *today = [cal dateFromComponents:components];

components = [cal components:calendarUnit fromDate:self];

NSDate *otherDate = [cal dateFromComponents:components];

if([today isEqualToDate:otherDate]) {

return YES;

}

return NO;

}

// 判断是否是今天

- (BOOL)isToday

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:[NSDate date]];

NSDate *today = [cal dateFromComponents:components];

components = [cal components:calendarUnit fromDate:self];

NSDate *otherDate = [cal dateFromComponents:components];

if([today isEqualToDate:otherDate]) {

return YES;

}

return NO;

}

// 判断是否是明天

- (BOOL)isTomorrow

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24]];

NSDate *tomorrow = [cal dateFromComponents:components];

components = [cal components:calendarUnit fromDate:self];

NSDate *otherDate = [cal dateFromComponents:components];

if([tomorrow isEqualToDate:otherDate]) {

return YES;

}

return NO;

}

// 判断是否是后天

- (BOOL)isTheDayAfterTomorrow

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 2]];

NSDate *dayAfterTomorrow = [cal dateFromComponents:components];

components = [cal components:calendarUnit fromDate:self];

NSDate *otherDate = [cal dateFromComponents:components];

if([dayAfterTomorrow isEqualToDate:otherDate]) {

return YES;

}

return NO;

}

// 转换成年月日(其他补0)

- (NSDate *)convertDefinitionToDate

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSDate *dateConverted = [cal dateFromComponents:components];

return dateConverted;

}

// 转换标准时间

- (NSString *)convertToStandardDateFormat

{

// eg: 2014-01-03 19:36 星期五

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger weekday = [components weekday];

NSString *weekdayStr = nil;

switch (weekday) {

case 1:

weekdayStr = @"星期日";

break;

case 2:

weekdayStr = @"星期一";

break;

case 3:

weekdayStr = @"星期二";

break;

case 4:

weekdayStr = @"星期三";

break;

case 5:

weekdayStr = @"星期四";

break;

case 6:

weekdayStr = @"星期五";

break;

case 7:

weekdayStr = @"星期六";

break;

default:

break;

}

NSString *standardDateFormatStr = [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d %@", (int)year, (int)month, (int)day, (int)hour, (int)minute, weekdayStr];

return standardDateFormatStr;

}

// 转换本星期标准时间

- (NSString *)convertToStandardThisWeekDateFormat

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger weekday = [components weekday];

NSString *weekdayStr = nil;

switch (weekday) {

case 1:

weekdayStr = @"星期日";

break;

case 2:

weekdayStr = @"星期一";

break;

case 3:

weekdayStr = @"星期二";

break;

case 4:

weekdayStr = @"星期三";

break;

case 5:

weekdayStr = @"星期四";

break;

case 6:

weekdayStr = @"星期五";

break;

case 7:

weekdayStr = @"星期六";

break;

default:

return nil;

break;

}

NSString *standardThisWeekDateFormatStr = [NSString stringWithFormat:@"%@ %02d:%02d", weekdayStr, (int)hour, (int)minute];

return standardThisWeekDateFormatStr;

}

- (NSString *)convertToStandardTimeDateFormat

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSCalendarUnitHour

| NSCalendarUnitMinute);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSString *timeDateFormatStr = [NSString stringWithFormat:@"%02d:%02d", (int)hour, (int)minute];

return timeDateFormatStr;

}

- (NSString *)convertToStandardNormalDateFormat

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSString *dateFormatStr = [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d", (int)year, (int)month, (int)day, (int)hour, (int)minute];

return dateFormatStr;

}

// 转换成YYYY-MM-DD HH:MM:SS格式时间

- (NSString *)convertToStandardYYYYMMDDHHMMSSDateFormat

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger second = [components second];

NSString *standardDateFormatStr = [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d", (int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second];

return standardDateFormatStr;

}

- (NSString *)convertToYYYYMMDDHHMMSSDateFormat {

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger second = [components second];

NSString *standardDateFormatStr = [NSString stringWithFormat:@"%04d%02d%02d%02d%02d%02d", (int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second];

return standardDateFormatStr;

}

// 转换成YYYY-MM-DD

- (NSString *)convertToStandardYYYYMMDDDateFormat

{

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSString *standardDateFormatStr = [NSString stringWithFormat:@"%04d-%02d-%02d", (int)year, (int)month, (int)day];

return standardDateFormatStr;

}

// 转换成标准前天、昨天、今天、明天、后天时间  今天 19:36

- (NSString *)convertToStandardRecentlyDateFormat

{

NSString *dateStr = nil;

if ([self isToday]) {

dateStr = @"今天";

} else if ([self isTomorrow]) {

dateStr = @"明天";

} else if ([self isTheDayAfterTomorrow]) {

dateStr = @"后天";

} else if ([self isYesterDay]) {

dateStr = @"昨天";

} else if ([self isTheDayBeforeYesterday]) {

dateStr = @"前天";

} else {

NSLog(@"类型错误:%s", __FUNCTION__);

return nil;

}

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSCalendarUnitHour

| NSCalendarUnitMinute);

NSDateComponents *components = [cal components:calendarUnit fromDate:self];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSString *todayDateFormatStr = [NSString stringWithFormat:@"%@ %02d:%02d", dateStr, (int)hour, (int)minute];

return todayDateFormatStr;

}

+ (NSDateComponents *)dateComponentsByDate:(NSDate *)date {

NSCalendar *calendar = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit |  NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit | NSWeekOfYearCalendarUnit;

return [calendar components:calendarUnit fromDate:date];

}

+ (int)weekdayByDate:(NSDate *)date {

return (int)[[self dateComponentsByDate:date] weekday];

}

+ (NSString *)weekdayInChineseByDate:(NSDate *)date {

NSString *name = nil;

NSInteger weekday = [NSDate weekdayByDate:date];

switch (weekday) {

case 1:

name = @"周日";

break;

case 2:

name = @"周一";

break;

case 3:

name = @"周二";

break;

case 4:

name = @"周三";

break;

case 5:

name = @"周四";

break;

case 6:

name = @"周五";

break;

case 7:

name = @"周六";

break;

default:

break;

}

return name;

}

+ (NSDate *)dateWithDays:(NSUInteger)days beforDate:(NSDate *)date {

NSTimeInterval interval = [date timeIntervalSinceReferenceDate] - 86400 * days;

return [NSDate dateWithTimeIntervalSinceReferenceDate:interval];

}

+ (NSDate *)dateWithDays:(NSUInteger)days afterDate:(NSDate *)date {

NSTimeInterval interval = [date timeIntervalSinceReferenceDate] + 86400 * days;

return [NSDate dateWithTimeIntervalSinceReferenceDate:interval];

}

+ (NSArray *)dayNamesAtDays:(NSInteger)days beforDate:(NSDate *)date {

NSMutableArray *names = [NSMutableArray array];

NSInteger currentMonthDay = [NSDate dayByDate:date];

for (int i = (int)days - 1; i >= currentMonthDay ; i--) {

NSDate *date = [NSDate dateWithDays:i beforDate:[NSDate date]];

NSInteger day = [NSDate dayByDate:date];

[names addObject:[NSString stringWithFormat:@"%d", (int)day]];

}

for (int i = (int)currentMonthDay - 1; i >= 0; i--) {

NSDate *date = [NSDate dateWithDays:i beforDate:[NSDate date]];

NSInteger day = [NSDate dayByDate:date];

[names addObject:[NSString stringWithFormat:@"%d", (int)day]];

}

return names;

}

+ (int)yearByDate:(NSDate *)date {

return (int)[[self dateComponentsByDate:date] year];

}

+ (int)monthByDate:(NSDate *)date {

return (int)[[self dateComponentsByDate:date] month];

}

+ (int)dayByDate:(NSDate *)date {

return (int)[[self dateComponentsByDate:date] day];

}

+ (int)weekOfYearByDate:(NSDate *)date {

return (int)[[self dateComponentsByDate:date] weekOfYear];

}

+(NSString *)getCurrentDateHHMM

{

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

[formatter setDateFormat:@"HH:mm"];

return [formatter stringFromDate:[NSDate date]];

}

+(NSString *)getCurrentDateYYYYMMDDHHMM

{

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

[formatter setDateFormat:@"yyyyMMdd HH:mm"];

return [formatter stringFromDate:[NSDate date]];

}

+(NSString *)getDateYYYYMMDD:(NSDate *)date

{

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

[formatter setDateFormat:@"yyyyMMdd"];

return [formatter stringFromDate:date];

}

+ (int)daysInMonthByDate:(NSDate *)date {

NSRange dayRange = [[NSCalendar currentCalendar] rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:date];

return (int)dayRange.length;

}

+ (NSString *)convertToyyyMMddHHmmssString:(NSDate *)date {

NSCalendar *cal = [NSCalendar currentCalendar];

NSCalendarUnit calendarUnit = (  NSEraCalendarUnit

| NSYearCalendarUnit

| NSMonthCalendarUnit

| NSDayCalendarUnit

| NSCalendarUnitWeekday

| NSCalendarUnitHour

| NSCalendarUnitMinute

| NSCalendarUnitSecond);

NSDateComponents *components = [cal components:calendarUnit fromDate:date];

NSInteger year = [components year];

NSInteger month = [components month];

NSInteger day = [components day];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger second = [components second];

NSString *dateFormatStr = [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d", (int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second];

return dateFormatStr;

}

+ (NSDate *) convertDateFromString:(NSString *)dateString {

static NSDateFormatter *formatter = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

formatter = [[NSDateFormatter alloc] init];

});

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

NSDate *date=[formatter dateFromString:dateString];

return date;

}

+ (NSDate *)stringToDate:(NSString *)dateString {

static NSDateFormatter *formatter = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

formatter = [[NSDateFormatter alloc] init];

});

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

NSDate *date=[formatter dateFromString:dateString];

return date;

}

@end

最新文章

  1. SharePoint 2013: A feature with ID has already been installed in this farm
  2. clip-path
  3. Android 调用系统照相机拍照和录像
  4. 我为什么要进国企----HP大中华区总裁孙振耀退休感言
  5. python网络编程(六)---web客户端访问
  6. ApkTool动态打包
  7. Swift中对计算属性的理解和对之前的补充
  8. [转]用Node.js创建自签名的HTTPS服务器
  9. Struts2+JQuery+JSON实现异步交互
  10. Java程序员面试题集(86-115)
  11. Sampling
  12. mysql一些函数的记录
  13. 1.1 WEB API 在帮助文档页面进行测试
  14. Oracle常用语句语法汇总
  15. 九、Linux上软件安装
  16. 简单读!tomcat源码(一)启动与监听
  17. TensorFlow 2.0 新特性
  18. python爬取微信公众号
  19. 我是SPI,我让框架更加优雅了!
  20. ThinkPHP-5.0.23新的RCE漏洞测试和POC

热门文章

  1. Linux下编译安装Nginx1.12
  2. svn命令行使用
  3. cocos代码研究(20)Widget子类LoadingBar学习笔记
  4. oauth2(转载http://www.rollosay.com/it/%E4%BD%BF%E7%94%A8OAuth-Server-PHP%E5%AE%9E%E7%8E%B0OAuth2%E6%9C%8D%E5%8A%A1)
  5. c++第二十六天
  6. Vue学习笔记之Vue的对象单体模式
  7. 前端学习笔记之CSS属性设置
  8. [POI2006][luogu3435] OKR-Periods of Words [kmp+next数组]
  9. JS判定注册表单的几个方式 及 Ajax进行用户名存在判定
  10. Gym 101334F Feel Good