首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取时间戳格式的当前NSDate

获取时间戳格式的当前NSDate
EN

Stack Overflow用户
提问于 2014-03-13 01:18:09
回答 9查看 155.1K关注 0票数 83

我有一个基本方法,它获取当前时间并将其设置在一个字符串中。但是,如何才能将当前日期和时间格式化为UNIX自1970年以来的时间戳格式?

下面是我的代码:

代码语言:javascript
复制
NSDate *currentTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh-mm"];
NSString *resultString = [dateFormatter stringFromDate: currentTime];

是否可以使用NSDateFormatter将'resultString‘更改为时间戳?

EN

回答 9

Stack Overflow用户

发布于 2014-03-13 01:20:25

使用[[NSDate date] timeIntervalSince1970]

票数 15
EN

Stack Overflow用户

发布于 2014-07-14 21:11:47

代码语言:javascript
复制
- (void)GetCurrentTimeStamp
    {
        NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
        [objDateformat setDateFormat:@"yyyy-MM-dd"];
        NSString    *strTime = [objDateformat stringFromDate:[NSDate date]];
        NSString    *strUTCTime = [self GetUTCDateTimeFromLocalTime:strTime];//You can pass your date but be carefull about your date format of NSDateFormatter.
        NSDate *objUTCDate  = [objDateformat dateFromString:strUTCTime];
        long long milliseconds = (long long)([objUTCDate timeIntervalSince1970] * 1000.0);

        NSString *strTimeStamp = [NSString stringWithFormat:@"%lld",milliseconds];
NSLog(@"The Timestamp is = %@",strTimeStamp);
    }

 - (NSString *) GetUTCDateTimeFromLocalTime:(NSString *)IN_strLocalTime
    {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd"];
        NSDate  *objDate    = [dateFormatter dateFromString:IN_strLocalTime];
        [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
        NSString *strDateTime   = [dateFormatter stringFromDate:objDate];
        return strDateTime;
    }

注意:-时间戳必须在UTC区域,因此我将我们的本地时间转换为UTC时间。

票数 7
EN

Stack Overflow用户

发布于 2014-10-15 14:00:56

如果您想直接在NSDate对象上调用此方法,并以毫秒为单位获取字符串形式的时间戳,请将此方法定义为一个类别:

代码语言:javascript
复制
@implementation NSDate (MyExtensions)
- (NSString *)unixTimestampInMilliseconds
{
     return [NSString stringWithFormat:@"%.0f", [self timeIntervalSince1970] * 1000];
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22359090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档