【问题标题】:iOS : Date format - 20-Sep-2012iOS:日期格式 - 2012 年 9 月 20 日
【发布时间】:2012-11-22 04:52:50
【问题描述】:

我想以字符串“2012-11-22 10:19:04”中的“20-Sep-2012”格式显示日期。我怎样才能做到这一点? iOS 有内置方法吗?

【问题讨论】:

  • 是的,您可以将日期格式设置为 dd-mmm-yyyy
  • 我该怎么办?可以提供代码吗?

标签: iphone ios date


【解决方案1】:
NSString *myString = @"2012-11-22 10:19:04";
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";     
NSDate *yourDate = [dateFormatter dateFromString:myString];
dateFormatter.dateFormat = @"dd-MMM-yyyy";
NSLog(@"%@",[dateFormatter stringFromDate:yourDate]);

您的日志将像这样打印。 22-Nov-2012

【讨论】:

  • 如果我需要2012-11-22 at 11:23怎么办?我如何在中间添加at
  • @EICaptainv2.0 您可以将at 放入格式中。 yyyy-MM-dd 'at' HH:mm 这应该可以。您可以将文本放在单引号内以将其取回。
【解决方案2】:

试试这个,

NSString *originalDateString = @"2012-11-22 10:19:04";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//2012-11-22 10:19:04

然后用它来解析日期字符串为,

NSDate *date = [dateFormatter dateFromString:originalDateString];

您可以创建一个新的日期格式化程序以新格式打印,或者只是重复使用现有的格式,

[dateFormatter setDateFormat:@"dd-MMM-yyyy"];//22-Nov-2012
NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"Date in new format is %@", formattedDateString);

【讨论】:

  • 伴侣变更 //2012 年 9 月 20 日至 2012 年 11 月 22 日伴侣.. :)
  • @ParasJoshi,谢谢。我只是在那里引用他的问题,只是为了他的理解。只是让他知道等价的格式是这样的。
【解决方案3】:

Swift 3 中接受 (@Dinesh Raja) 的回答:

override func viewDidLoad() {
super.viewDidLoad()
    print(self.getFormattedDate(myString: "2012-11-22 10:19:04"))
}

func getFormattedDate(myString: String) -> String{
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        let yourDate = dateFormatter.date(from: myString)!
        dateFormatter.dateFormat = "dd-MMM-yyyy"
        return dateFormatter.string(from: yourDate)
    }

【讨论】:

    【解决方案4】:

    您可以通过以下方式实现此目的

          NSDateFormatter *dfTime = [[NSDateFormatter alloc] init];
          [dfTime setDateFormat:@"yyyy--MM-dd HH:mm:ss"];
          NSDate *dtTime = [dfTime dateFromString:<Your string>];
          NSDateFormatter *df = [[NSDateFormatter alloc] init];
          [df setDateFormat:@"dd-MMM-yyyy"];
           <Your result string> = [df stringFromDate:dtTime];
    
    Where <Your string> = @"2012-11-22 10:19:04" & 
    <Your result string> will be your new string
    

    享受编程

    【讨论】:

      【解决方案5】:

      试试这个

          NSString *str = @"2012-11-22 10:19:04";
      
          NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
          [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
      
          NSDate *date = [dateFormatter dateFromString: str];
      
          dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
          [dateFormatter setDateFormat:@"dd-MMM-yyyy"];
      
          NSString *convertedString = [dateFormatter stringFromDate:date];
          NSLog(@"Converted String : %@",convertedString);// Print Log (Output) is 22-Nov-2012
      

      查看我的博客,了解所有信息My Blog Link with this types of method

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        相关资源
        最近更新 更多