iOS 时间戳转时间 日期 星期

在开发中,往往我们会用到时间戳这个东西,至于时间戳是个什么东西,我就不去多说了,因为百度上很多。好了,今天我和大家分享一下我在使用时间戳时的一些转换问题。

时间戳转日期字符串(时间戳NSString 转 日期NSString)

代码:

-(NSString *)timeWithTimeIntervalString:(NSString *)timeString
{
    NSDate *nd = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)[timeString integerValue]];
    
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    // [dateFormat setDateFormat:@"HH:mm:ss"];
    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];
    NSString *dateString = [dateFormat stringFromDate:nd];
    return dateString;
}

当前日期转时间戳(日期NSDate 转 时间戳NSString)

代码:

- (NSString *)timeToTurnTheTimestamp{
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval a=[dat timeIntervalSince1970];
    NSString *timeString = [NSString stringWithFormat:@"%f", a];
    return timeString;
}

日期字符串转时间戳(NSString转时间戳NSString)

代码:

-(NSString *)turnTheTimestampString:(NSString*) timeStr{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd"]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
    //设置时区,这个对于时间的处理有时很重要
    //例如你在国内发布信息,用户在国外的另一个时区,你想让用户看到正确的发布时间就得注意时区设置,时间的换算.
    //例如你发布的时间为2010-01-26 17:40:50,那么在英国爱尔兰那边用户看到的时间应该是多少呢?
    //他们与我们有7个小时的时差,所以他们那还没到这个时间呢...那就是把未来的事做了
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    [formatter setTimeZone:timeZone];
    NSDate* date = [formatter dateFromString:timeStr]; //------------将字符串按formatter转成nsdate
    NSTimeInterval a=[date timeIntervalSince1970];
    NSString *timeString = [NSString stringWithFormat:@"%f", a];
    return  timeString;
}

时间戳转星期格式

代码

- (NSString*)weekdayStringFromDate:(NSString *)timeString
 {
    NSDate *nd = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)[timeString doubleValue]];
   NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六",  nil];
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
    
    [calendar setTimeZone: timeZone];
    
    NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
    
    NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:nd];
    
    return [weekdays objectAtIndex:theComponents.weekday];
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多...
    小李龍彪阅读 6,429评论 1 6
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,813评论 0 7
  • 原地址http://segmentfault.net/a/1190000000444620 iOS开发之玩转字符串...
    如烟Lb阅读 5,220评论 0 5
  • 首先,安装了mysql,在这里安装出了一些小问题 安装msi文件后,并没有出来配置设置流程 解决方法:切换用户到A...
    夏臻Rock阅读 124评论 0 0
  • 斜风细雨吹在脸上的,不止是冰凉,还有些许伤感。朋友打电话来抱怨母亲的“专制”和反抗母亲的“独裁”,到深处,无人语,...
    寻覔阅读 154评论 0 1