Я хочу показать дату в формате "20-Sep-2012" из строки "2012-11-22 10:19:04". Как я могу это сделать? Есть ли встроенный метод для iOS?
IOS: формат даты - 20 сентября 2012 г.
Ответ 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];