Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 转换字符串日期格式_Iphone_Objective C_Ios_Nsdate - Fatal编程技术网

Iphone 转换字符串日期格式

Iphone 转换字符串日期格式,iphone,objective-c,ios,nsdate,Iphone,Objective C,Ios,Nsdate,我有此格式的字符串日期“2012年10月23日星期二01:05:00+0000”。现在我想将日期格式转换为“2012年10月23日星期二凌晨1:05”。最好的方法是什么 NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000"; // Convert string to date object NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat s

我有此格式的字符串日期“2012年10月23日星期二01:05:00+0000”。现在我想将日期格式转换为“2012年10月23日星期二凌晨1:05”。最好的方法是什么

NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr]; 
但首先

  • 创建
    NSDateFormatter
    以将日期字符串转换为
    NSDate
    反对
  • 创建第二个
    NSDateFormatter
    (或更改 首先)将
    NSDate
    转换回字符串
  • 这会有点帮助吗

    编辑

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
    [dateFormatter setDateFormat:@"yyyy-MM-ddHH:mm:ss"];
    NSDate *date = [dateFormatter dateFromString:@"2011-04-0600:28:27"];
    

    使用这种方法。将字符串传递给它,并根据需要设置日期格式。你会得到你想要的日期作为回报

    - (NSDate *) getDateFromString:(NSString *) inputDate
    {
    
        NSDateFormatter *dateForm = [[NSDateFormatter alloc] init];
    
        [dateForm setDateFormat:@"yyyy-MM-dd"];
    
        NSDate *dateSelected = [dateForm dateFromString:inputDate];
    
        [dateForm release];
    
        return dateSelected;
    }
    
    希望对你有用

    ===============================================================

    日期格式选项如下:

    现在您需要所有可以与NSDateFormatter一起使用的字符串格式。给你

    a:上午/下午

    A:0~86399999(一天的毫秒)

    c/cc:1~7(星期几)

    ccc:Sun/Mon/Tue/Wed/Thu/Fri/Sat

    中交:周日/周一/周二/周三/周四/周五/周六

    d:1~31(每月0个填充日)

    D:1~366(一年中0个填充日)

    e:1~7(每周0个填充日)

    E~EEE:Sun/Mon/Tue/Wed/Thu/Fri/Sat

    EEEE:周日/周一/周二/周三/周四/周五/周六

    F:1~5(0个月的填充周,周的第一天=周一)

    g:Julian日数(自公元前4713年1月1日起的天数)

    G~GGG:BC/AD(纪元符号缩写)

    GGGG:在基督之前/安诺·多米尼

    h:1~12(0填充小时(12小时))

    H:0~23(0填充小时(24小时))

    k:1~24(0填充小时(24小时)

    K:0~11(0填充小时(12小时))

    L/LL:1~12(0填充月)

    LLL:1/2/3/4/5/6/7/8/9/10/11/12

    LLLL:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月

    m:0~59(0填充分钟)

    M/MM:1~12(0填充月)

    MMM:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月

    嗯:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月

    q/qq:1~4(0填充四分之一)

    qqq:Q1/Q2/Q3/Q4

    第一季度/第二季度/第三季度/第四季度

    Q/QQ:1~4(0填充四分之一)

    QQQ:Q1/Q2/Q3/Q4

    第一季度/第二季度/第三季度/第四季度

    s:0~59(0填充秒)

    S:(四舍五入亚秒)

    u:(0填充年)

    v~vvv:(通用GMT时区缩写)

    VVV:(通用GMT时区名称)

    w:1~53(0填充一年中的一周,一周中的第一天=周日,注:一年中的第一周从去年的最后一个周日开始)

    W:1~5(0个月的填充周,周的第一天=周日)

    年/年(全年)

    年/年:(2位数字年份)

    Y/YYYY:(全年,从一年中第一周的星期日开始)

    YY/YYY:(2位数字年份,从一年中第一周的星期日开始)

    z~zzz:(特定GMT时区缩写)

    zzzz:(特定GMT时区名称)

    Z:+0000(RFC 822时区)

    ==========================================


    设置您喜欢的格式。

    使用下面的方法传递您的日期

           -(NSString *)StringFromDate:(NSString *)DateLocal{
            DateLocal = [self trimString:DateLocal];
            NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];   
            [dateFormatter setDateFormat:@"EEE, dd LLL yyyy hh:mm:ss Z"];
    
            NSDate *date = [dateFormatter dateFromString: DateLocal];
            NSString *tt = [dateFormatter stringFromDate:date];
            NSDate *dateReturn = [dateFormatter dateFromString:tt];
    
    
            NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
            [dateFormat setDateFormat:@"EEE LLL dd yyyy hh:mm a"];
            NSString *dateString = [dateFormat stringFromDate:dateReturn];  
            NSLog(@"Date is HERE  =====>> %@",dateString);
            [dateFormat release];
            return dateString;
        }
    

    你打算如何从凌晨1:05到下午2:25,从10月23日到10月19日?我只是把格式作为一项要求提出来。这些日期彼此不相等,这是一种非常糟糕的提问方式。我看到的每一个问题都显示了一个输入示例,以及该输入所需的输出。哦,对不起,但我尝试了找到了,但问题是我没有设置准确的日期格式如何在结果日期格式中提及时区的可能重复项,如我想要加利福尼亚时区的日期。@这太棒了。有没有办法获得2016年1月30日星期六这样的日期