【问题标题】:Convert NSString to NSDate in objective c [duplicate]在目标c中将NSString转换为NSDate [重复]
【发布时间】:2018-07-10 04:18:50
【问题描述】:

我得到一个 NSString 为 @"27-Jan-2018 00:00"。我只想将此字符串转换为 NSDate 类。请建议一些方法来实现这一点。提前致谢!

【问题讨论】:

标签: objective-c nsstring nsdate


【解决方案1】:

试试这个...

NSString *dateString = @"27-Jan-2018 00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"%@",dateFromString);

【讨论】:

  • 假设字符串将始终使用英文月份名称,您还需要将日期格式化程序的语言环境设置为en_US_POSIX。
  • @rmaddy 编辑了答案并将语言环境添加到en_US_POSIX
【解决方案2】:

请检查下面的代码。也许它适合您和您的需求。

 -(void)DateChange

 {

  NSString *Input_Date =@"31-Jan-18 04:25 AM";

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"dd-MMM-yy hh:mm a"];

  NSDate * Format_date = [dateFormatter dateFromString:Input_Date];
 [dateFormatter setDateFormat:@"dd-MMM-yy hh:mm a"];
  NSString *Change_date = [dateFormatter stringFromDate:Format_date];
  NSLog(@"Final Change Date :-  %@",Change_date);

 }



My Output is :- 
Final Change Date :- 31-Jan-18 04:25 AM

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 2013-01-16
    • 2012-12-17
    • 1970-01-01
    • 2014-05-11
    • 2012-08-20
    • 1970-01-01
    相关资源
    最近更新 更多