//获取当前系统时间的时间戳
#pragma mark - 获取当前时间的 时间戳
+(NSInteger)getNowTimestamp{
////使用yyyy转化 使用YYYY容易引起日期错误
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
//设置时区,这个对于时间的处理有时很重要
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];//现在时间
NSLog(@"设备当前的时间:%@",[formatter stringFromDate:datenow]);
//时间转时间戳的方法:
NSInteger timeSp = [[NSNumber numberWithDouble:[datenow timeIntervalSince1970]] integerValue];
NSLog(@"设备当前的时间戳:%ld",(long)timeSp); //时间戳的值
return timeSp;
}
//将某个时间转化成 时间戳
#pragma mark - 将某个时间转化成 时间戳
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:format]; //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate
//时间转时间戳的方法:
NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];
NSLog(@"将某个时间转化成 时间戳&&&&&&&timeSp:%ld",(long)timeSp); //时间戳的值
return timeSp;
}
//将某个时间戳转化成 时间
#pragma mark - 将某个时间戳转化成 时间
+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:format]; // (@"YYYY-MM-dd hh:mm:ss")----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timestamp];
NSLog(@"1296035591 = %@",confromTimesp);
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
//NSLog(@"&&&&&&&confromTimespStr = : %@",confromTimespStr);
return confromTimespStr;
}
更新时间:2018-06-01 附上demo:https://gitee.com/liangsenliangsen/time_stamp_time_classification.git demo里有为NSObject写的一个分类,该分类具有将时间戳转化为时间的功能)
由于时间戳和时间的转换并不是很常用,所以在用到的时候也只是去网上找下代码。今天发现去网上找代码还是会耗费一定时间的,于是耗费时间找代码不如自己记录下代码以便下次使用。
上代码:
#pragma mark --- 将时间转换成时间戳
- (NSString *)getTimestampFromTime{
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];// ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
//设置时区,这个对于时间的处理有时很重要
//例如你在国内发布信息,用户在国外的另一个时区,你想让用户看到正确的发布时间就得注意时区设置,时间的换算.
//例如你发布的时间为2010-01-26 17:40:50,那么在英国爱尔兰那边用户看到的时间应该是多少呢?
//他们与我们有7个小时的时差,所以他们那还没到这个时间呢...那就是把未来的事做了
NSTimeZone* timeZone = [NSTimeZonetimeZoneWithName:@"Asia/Shanghai"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDatedate];//现在时间,你可以输出来看下是什么格式
NSString *nowtimeStr = [formatterstringFromDate:datenow];//----------将nsdate按formatter格式转成nsstring
NSLog(@"%@", nowtimeStr);
// 时间转时间戳的方法:
NSString *timeSp = [NSStringstringWithFormat:@"%ld", (long)[datenowtimeIntervalSince1970]];
NSLog(@"timeSp:%@",timeSp);//时间戳的值
return timeSp;
}
#pragma mark ---- 将时间戳转换成时间
- (NSString *)getTimeFromTimestamp{
//将对象类型的时间转换为NSDate类型
double time =1504667976;
NSDate * myDate=[NSDatedateWithTimeIntervalSince1970:time];
//设置时间格式
NSDateFormatter * formatter=[[NSDateFormatteralloc]init];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
//将时间转换为字符串
NSString *timeStr=[formatterstringFromDate:myDate];
return timeStr;
}
同时希望能够帮到同样需要帮助的朋友们
/////////////////////////////////////////////////////////////////////////
+ (BOOL)isBlankString:(NSString *)aStr {
if (!aStr) {
return YES;
}
if ([aStr isKindOfClass:[NSNull class]]) {
return YES;
}
if (!aStr.length) {
return YES;
}
NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *trimmedStr = [aStr stringByTrimmingCharactersInSet:set];
if (!trimmedStr.length) {
return YES;
}
return NO;
}
+ (NSString *)shortedNumberDesc:(NSUInteger)number {
// should be localized
if (number <= 9999) return [NSString stringWithFormat:@"%d", (int)number];
if (number <= 9999999) return [NSString stringWithFormat:@"%d万", (int)(number / 10000)];
return [NSString stringWithFormat:@"%d千万", (int)(number / 10000000)];
}
//获取当前时间字符串
+ (NSString *)getNowTimeString:(NSString *)timeFormatter{
// 日期格式化类
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
// 设置日期格式(为了转换成功)
fmt.dateFormat = timeFormatter;
NSString *timeString = [fmt stringFromDate:[NSDate date]];
return timeString;
}
//获取当前系统时间的时间戳
#pragma mark - 获取当前时间的 时间戳
+(NSInteger)getNowTimestamp:(NSString *)timeFormatter{
//@"yyyy-MM-dd HH:mm:ss"
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:timeFormatter]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
//设置时区,这个对于时间的处理有时很重要
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];//现在时间
NSLog(@"设备当前的时间:%@",[formatter stringFromDate:datenow]);
//时间转时间戳的方法:
NSInteger timeSp = [[NSNumber numberWithDouble:[datenow timeIntervalSince1970]] integerValue];
NSLog(@"设备当前的时间戳:%ld",(long)timeSp); //时间戳的值
return timeSp;
}
//将某个时间转化成 时间戳
#pragma mark - 将某个时间转化成 时间戳
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:format]; //(@"yyyy-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate
//时间转时间戳的方法:
NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];
NSLog(@"将某个时间转化成 时间戳&&&&&&&timeSp:%ld",(long)timeSp); //时间戳的值
return timeSp;
}
//将某个时间戳转化成 时间
#pragma mark - 将某个时间戳转化成 时间
+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:format]; // (@"YYYY-MM-dd hh:mm:ss")----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timestamp];
NSLog(@"1296035591 = %@",confromTimesp);
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
//NSLog(@"&&&&&&&confromTimespStr = : %@",confromTimespStr);
return confromTimespStr;
}
/*****
text.color = kColorQrtitle;
text.font = [UIFont systemFontOfSize:17];
YYTextContainer *container = [YYTextContainer containerWithSize:CGSizeMake(self.codeView.width - 62, 20)];
YYTextLayout *textLayout = [YYTextLayout layoutWithContainer:container text:text];
self.codeNameLabel.textLayout = textLayout;
***/
+ (YYTextLayout *)yyTextLayoutWithContainerSzie:(CGSize)size attributeText:(NSAttributedString *)attriButedText{
YYTextContainer *container = [YYTextContainer containerWithSize:size];
YYTextLayout *textLayout = [YYTextLayout layoutWithContainer:container text:attriButedText];
return textLayout;
}
+ (NSAttributedString *)attachmentWithFontSize:(CGFloat)fontSize image:(UIImage *)image shrink:(BOOL)shrink withColor:(UIColor *)color withFont:(UIFont *)font{
// Heiti SC 字体。。
CGFloat ascent = fontSize * 0.86;
CGFloat descent = fontSize * 0.14;
CGRect bounding = CGRectMake(0, -0.14 * fontSize, fontSize, fontSize);
UIEdgeInsets contentInsets = UIEdgeInsetsMake(ascent - (bounding.size.height + bounding.origin.y), 0, descent + bounding.origin.y, 0);
YYTextRunDelegate *delegate = [YYTextRunDelegate new];
delegate.ascent = ascent;
delegate.descent = descent;
delegate.width = bounding.size.width;
YYTextAttachment *attachment = [YYTextAttachment new];
attachment.contentMode = UIViewContentModeScaleAspectFit;
attachment.contentInsets = contentInsets;
attachment.content = image;
if (shrink) {
// 缩小~
CGFloat scale = 1 / 10.0;
contentInsets.top += fontSize * scale;
contentInsets.bottom += fontSize * scale;
contentInsets.left += fontSize * scale;
contentInsets.right += fontSize * scale;
contentInsets = UIEdgeInsetPixelFloor(contentInsets);
attachment.contentInsets = contentInsets;
}
NSMutableAttributedString *atr = [[NSMutableAttributedString alloc] initWithString:YYTextAttachmentToken];
[atr setTextAttachment:attachment range:NSMakeRange(0, atr.length)];
CTRunDelegateRef ctDelegate = delegate.CTRunDelegate;
[atr setRunDelegate:ctDelegate range:NSMakeRange(0, atr.length)];
if (ctDelegate) CFRelease(ctDelegate);
///自定义 字体大小, 颜色
atr.font = font;
[atr addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(0, atr.length)];
return atr;
}
+ (NSAttributedString *)attributedStringWithImageName:(NSString *)imageName{
NSTextAttachment *attach = [[NSTextAttachment alloc] init];
attach.image = [UIImage imageNamed:imageName];
attach.bounds = CGRectMake(0, -2, 12, 12);
return [NSAttributedString attributedStringWithAttachment:attach];
}
ios long转换成时间 ios时间戳转换成时间
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:ios l类方法 ios类型

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Flutter 时间戳转换成时间 时间字符串转换成时间戳
时间戳转换成时间DateTim
时间戳 字符串 时间格式