IOS 关于日期和时间戳

作者: 江户川_乱步 | 来源:发表于2016-08-16 10:09 被阅读1284次

什么是时间戳(百度百科)

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

在开发中,我们常常需要获取系统当前时间,然后对时间进行操作,下面我介绍几种常见时间戳转换的方法。

常用转换

获取日期,将日期转换成字符串

  //获取当前日期
  NSDate *currentDate = [NSDate date]; 
  // 实例化日期格式
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  //设置日期格式
  [dateFormatter setDateFormat:@"YYYY-MM-dd"]; //YYYY表示年 MM表示月份 dd表示日 还有HH表示小时  mm表示分钟 ss表示秒,可以按照需求更改格式
  //将日期转换成字符串输出
  NSString *currentDateStr = [dateFormatter   stringFromDate:currentDate];

将日期字符串转换成日期

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 要转换的日期字符串 
NSString *dateString = @"2011-05-03 23:11:40";
// 设置为UTC时区// 这里如果不设置为UTC时区,会把要转换的时间字符串定为当前时区的时间(东八区)转换为UTC时区的时间 NSTimeZone *timezone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
 NSDate *someDay = [formatter dateFromString:dateString]; NSLog(@"%@", someDay);

时间格式

G: 公元时代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12,带前置0
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如2,无前置0
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
HH: 时,24小时制,带前置0
h: 时,12小时制,无前置0
hh: 时,12小时制,带前置0
m: 分,1-2位
mm: 分,2位,带前置0
s: 秒,1-2位
ss: 秒,2位,带前置0
S: 毫秒
Z: GMT(时区)

日期与时间戳转换

//时间戳转换成时间 
NSTimeInterval time =[timeString doubleValue]; 
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:time]; 
NSLog(@"date2 = %@",date2);
NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy/MM/dd"]; 
NSString *currentTime = [formatter stringFromDate:date2]; NSLog(@"当前时间:%@",currentTime);
//时间转时间戳 
NSString *timeStr = [NSString stringWithFormat:@"%.0f",[date2 timeIntervalSince1970]]; 
NSLog(@"时间戳:%@",timeStr);

将时间戳转换为星期几


- (NSString *)getWeekDayFordate:(long long)data
{
    //创建一个星期数组
    NSArray *weekday = [NSArray arrayWithObjects: [NSNull null], @"Sun", @"Mon", @"Tues", @"Wed", @"Thur", @"Fri", @"Sat", nil];
    //将时间戳转换成日期
    NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:data];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [calendar components:NSWeekdayCalendarUnit fromDate:newDate];
    NSString *weekStr = [weekday objectAtIndex:components.weekday];
    return weekStr;
}

相关文章

  • IOS 关于日期和时间戳

    什么是时间戳(百度百科) 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月...

  • 日期和时间

    PHP日期和时间之取得当前的Unix时间戳 UNIX 时间戳(英文叫做:timestamp)是 PHP 中关于时间...

  • PHP学习笔记 - 进阶篇(8)

    日期与时间 取得当前的Unix时间戳 UNIX 时间戳(英文叫做:timestamp)是 PHP 中关于时间与日期...

  • 关于日期时间戳转化

    本月开始时间戳 $begin = mktime(0, 0, 0, date('m'), 1, date('Y'))...

  • Python3.5笔记——第10章 日期和时间

    Python3.5笔记 第10章 日期和时间 时间戳和日期 时间戳 通常,时间戳(timestamp)表示从197...

  • 小程序日期格式转时间戳兼容问题

    日期格式如:2021-01-05 10:32:50转成时间戳ios里面不支持‘-’格式的日期转时间戳,安卓里面可以...

  • iOS 时间戳、时间转换

    参考文档1:iOS时间类型转换和各种数据类型进行转换 参考文档2:iOS开发中的时间与日期(上) 转换工具:时间戳...

  • [JS]时间戳与日期之间的转换

    获取本地时间戳 时间戳转换为日期 日期转换为时间戳 时间戳与日期转换封装 重写

  • iOS 时间戳转时间 日期 星期

    在开发中,往往我们会用到时间戳这个东西,至于时间戳是个什么东西,我就不去多说了,因为百度上很多。好了,今天我和大家...

  • iOS时间戳与日期转换

    1、通常我们通过时间戳的方式跟后台进行时间格式上的统一;2、有时我们会纠结于获取到的时间有8小时时差;3、时间戳与...

网友评论

    本文标题:IOS 关于日期和时间戳

    本文链接:https://www.haomeiwen.com/subject/mkjnjttx.html