在开发中,往往我们会用到时间戳这个东西,至于时间戳是个什么东西,我就不去多说了,因为百度上很多。好了,今天我和大家分享一下我在使用时间戳时的一些转换问题。
时间戳转日期字符串(时间戳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];
}