Подтвердить что ты не робот

Получение текущего времени в строке в пользовательском формате в объективе c

Мне нужно текущее время в следующем формате в строке.

dd-mm-yyyy HH: MM

Как?

4b9b3361

Ответ 1

Вы хотите формат даты. Вот пример:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];

NSDate *currentDate = [NSDate date];
NSString *dateString = [formatter stringFromDate:currentDate];

Ответ 2

Используйте NSDateFormatter, как сказал Карл, или просто используйте старый добрый strftime, который также отлично подходит Objective-C:

#import <time.h>
time_t currentTime = time(NULL);
struct tm timeStruct;
localtime_r(&currentTime, &timeStruct);
char buffer[20];
strftime(buffer, 20, "%d-%m-%Y %H:%M", &timeStruct);

Ответ 3

Вот простое решение:

- (NSString *)stringWithDate:(NSDate *)date
{
  return [NSDateFormatter localizedStringFromDate:date
                                        dateStyle:NSDateFormatterMediumStyle
                                        timeStyle:NSDateFormatterNoStyle];
}

Измените dateStyle и timeStyle в соответствии с требованиями к форматированию.

Ответ 4

Возможно, это будет более читаемо:

    NSDateFormatter *date = [[NSDateFormatter alloc] init];
    [date setDateFormat:@"HH:mm"];
    NSString *dateString = [date stringFromDate:[NSDate date]];
    [self.time setText:dateString];

Прежде всего, мы создаем встроенный в obj-c NSDateFormatter с именем date, затем применяем его с помощью [[NSDateFormatter alloc] init ];. После этого мы говорим процессу кода, что мы хотим, чтобы наша дата имела HOUR/MINUTE/SECOND. Наконец, мы должны сделать нашу дату строкой для работы с предупреждением или установить значение метки, для этого мы должны создать строку с методом NSString, тогда мы будем использовать это: [date stringFromDate: [NSDate date]]

Повеселись с ним.