Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Objective c 将整数转换为日期格式_Objective C_Nsdate - Fatal编程技术网

Objective c 将整数转换为日期格式

Objective c 将整数转换为日期格式,objective-c,nsdate,Objective C,Nsdate,我对objective-c非常陌生,我在sqlite表中存储了一个整数日期,例如20131017(代表2013年10月17日)。我想以2013年10月17日的格式向用户显示,但我的代码在登录时生成空值 毫无疑问,我错过了一些非常基本的东西——但就我的一生而言,我看不到它 代码如下: _fromDate.text = _startDate; //e.g.20131017 (representing Oct 17, 2013) NSString *dateString =[NSString str

我对objective-c非常陌生,我在sqlite表中存储了一个整数日期,例如20131017(代表2013年10月17日)。我想以2013年10月17日的格式向用户显示,但我的代码在登录时生成空值

毫无疑问,我错过了一些非常基本的东西——但就我的一生而言,我看不到它

代码如下:

_fromDate.text = _startDate; //e.g.20131017 (representing Oct 17, 2013)

NSString *dateString =[NSString stringWithFormat:@"%d", [_fromDate.text intValue]];
NSLog(@"dateString: %@", dateString);// shows 20131017 ok

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
NSLog(@"date: %@", date);  //produces a nil result
谢谢你的帮助。Thx.

使用此位代码:

[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
你是说:

  • 这是我的约会格式
  • 将这个字符串转换为日期,它的格式是我刚才告诉过你的
  • 但是字符串不是那种格式,所以它不工作

    格式实际上是:
    @“yyyyMMdd”
    (或者类似的,我手头没有规范)

    您确实需要2种格式(和2种格式化程序)

  • 将存储的字符串转换为日期的格式
  • 将日期转换为显示字符串的格式(这是您已有的格式)

  • 日期格式化程序不是这样工作的。更好地阅读文档。这已经在这里讨论过多次。嗯,如果您要使用日期格式化程序来解析字符日期,“日期格式”应该或多或少类似于您试图解析的字符串。可能重复为什么要获取字符串(
    \u fromDate.text
    ),请将其转换为
    int
    ,然后使用字符串格式将
    int
    转换回相同的字符串?只需执行
    NSString*dateString=\u fromDate.text。正如这里已经被无数的问题所涵盖的,要从一种格式转换到另一种格式,需要两种不同的日期格式来进行转换。