128 lines
4.3 KiB
Objective-C
Executable File

//
// HttpManager.m
// myhome
//
// Created by hkh on 16/11/6.
//
#import "Sformat.h"
@interface Sformat (){
}
@end
@implementation Sformat{
}
+ (NSString *)yyyy_MM_dd{
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:now];
int year = [dateComponent year];
int month = [dateComponent month];
int day = [dateComponent day];
return [[NSString alloc] initWithFormat:@"%04d-%02d-%02d",year,month,day];
}
+ (long)timestamp{
NSDate *now = [NSDate date];
return [now timeIntervalSince1970]*1000;
}
+ (long)timestamp:(NSDate *)date{
return [date timeIntervalSince1970]*1000;
}
+ (NSDate *)DateByTimestamp:(NSString *)timestamp{
NSTimeInterval time = [timestamp floatValue] / 1000;
return [NSDate dateWithTimeIntervalSince1970:time];
}
+ (NSString *)yyyy_MM_dd_HH_mm:(NSString *)timestamp{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
return [dateFormatter stringFromDate:[self DateByTimestamp:timestamp]];
}
+ (NSString *)yyyy_MM_dd_HH_mm_cn:(NSString *)timestamp{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm"];
return [dateFormatter stringFromDate:[self DateByTimestamp:timestamp]];
}
+ (NSDate *)dateWithYearsBeforeNow:(NSInteger)year{
NSDate *currentDate = [NSDate date];
NSCalendar *calendar = nil;
if (FALSE) {//IOS8Higher
calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
} else {
calendar = [NSCalendar currentCalendar];
}
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate];
[dateComponent setYear:year * -1];
return [calendar dateFromComponents:dateComponent];
}
+ (NSDate *)dateWithMonthBeforeNow:(NSInteger)month{
NSDate *currentDate = [NSDate date];
NSCalendar *calendar = nil;
//calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate];
[dateComponent setMonth:-1*month];
return [calendar dateFromComponents:dateComponent];
}
+ (NSDate *)dateWithDayBeforeNow:(NSInteger)day{
NSDate *currentDate = [NSDate date];
NSCalendar *calendar = nil;
if (FALSE) {//IOS8Higher
calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
} else {
calendar = [NSCalendar currentCalendar];
}
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:currentDate];
[dateComponent setDay:-1*day];
return [calendar dateFromComponents:dateComponent];
}
+ (NSString *)Hex:(NSData *)data {
if (!data || [data length] == 0) {
return @"";
}
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:[data length]];
[data enumerateByteRangesUsingBlock:^(const void *bytes, NSRange byteRange, BOOL *stop) {
unsigned char *dataBytes = (unsigned char*)bytes;
for (NSInteger i = 0; i < byteRange.length; i++) {
NSString *hexStr = [NSString stringWithFormat:@"%x", (dataBytes[i]) & 0xff];
if ([hexStr length] == 2) {
[string appendString:hexStr];
} else {
[string appendFormat:@"0%@", hexStr];
}
if(i < byteRange.length-1){
[string appendString:@" "];
}
}
}];
return string;
}
@end