IOS: формат даты - 20 сентября 2012 г. - программирование
Подтвердить что ты не робот

IOS: формат даты - 20 сентября 2012 г.

Я хочу показать дату в формате "20-Sep-2012" из строки "2012-11-22 10:19:04". Как я могу это сделать? Есть ли встроенный метод для iOS?

4b9b3361

Ответ 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

Ответ 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);

Ответ 3

Принятый ответ от (@Dinesh Raja) в Swift 3:

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

попробуйте это

    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

см. мой блог с этой информацией Мой блог Ссылка с этими типами методов

Ответ 5

Вы можете добиться этого следующим образом.

      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

Наслаждайтесь программированием

Ответ 6

    NSDate *today = [NSDate date];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
   [dateFormat setDateFormat:@"dd-mmm-yyyy"];
    NSString *dateString = [dateFormat stringFromDate:today];
    [dateFormat release];