Создайте дату в ярлыке xcode

#objective-c #swift #xcode #date #label

#objective-c #swift #xcode #Дата #ярлык

Вопрос:

Прежде всего, я хочу заранее поблагодарить за помощь.

Я хочу знать, как я могу создать дату на ярлыке с помощью Xcode, и дата будет следовать за той же датой, что и в iphone.

Спасибо

Ответ №1:

Вот один простой подход

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//uncomment to get the time only
//[formatter setDateFormat:@"hh:mm a"];
//[formatter setDateFormat:@"MMM dd, YYYY"];
[formatter setDateStyle:NSDateFormatterMediumStyle];


//get the date today
NSString *dateToday = [formatter stringFromDate:[NSDate date]];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)];
[label setText:dateToday];
[formatter release];

//then add to a view
  

Комментарии:

1. замените [formatter setDateFormat:@"MMM dd, YYYY"] на [formatter setDateStyle:NSDateFormatterLongStyle]; , чтобы я не получил оценку app Store в 2 звезды. Хотите верьте, хотите нет, но есть страны, которые используют формат даты, отличный от вашего. Когда вы используете dateFormat для представления дат пользователю, вы делаете это неправильно.

2. извините, я пытаюсь использовать этот код, но дата не отображается в моих приложениях.?? есть идея..

3. ну, вот почему я назвал это простым подходом… В любом случае, я изменил ее на менее очевидную. Однако спасибо @fluchtpunkt за комментарий.

Ответ №2:

Создать текстовую дату просто, но реальный вопрос заключается в том, из какого вашего источника данных вы хотите создать текст даты?

Ответ №3:

Дату можно отформатировать и задать в ярлыке, как показано ниже.

 NSDate *today = [NSDate date];
NSDateFormatter *dformat = [[NSDateFormatter alloc] init];
[dformat setDateFormat:@"dd:MM:YYYY"];
myLabel.text = [dformat stringFromDate:today];
  

Ответ №4:

NSDateFormatter обрабатывает формат строковых дат.

Экземпляры NSDateFormatter создают строковые представления объектов NSDate и преобразуют текстовые представления дат и времени в объекты NSDate.

Попробуйте это и увидите:

 // Set date format according to your string date format
// e.g.: For, 
// 22-12-1996 -> @"dd-MM-yyyy"
// 22/12/1996 -> @"dd/MM/yyyy"
// 1996-12-22 03:45:20 -> @"yyyy-MM-dd HH:mm:ss"

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yyyy";
//dateFormatter.dateFormat = @"dd-MM-yyyy";

NSDate *date = [dateFormatter dateFromString:dateString];
if(date == nil) {
    correctFormat = false;
}
NSLog("Date: %@",date);
  

Примечание: Каждая пара символов в формате даты связывает соответствующий компонент даты с экземпляром даты. Вы можете создать любой формат даты, используя шаблон строки даты.

Вот документ от Apple: Средства форматирования даты

  • Дата (день): dd
  • Месяц: ММ или МММ или MMMM
  • Год: гг или гггг

Вот список форматов даты: Форматы даты

Вот решение в Swift

 var today = Date()
var d_format = DateFormatter()
d_format.dateFormat = "dd:MM:yyyy"
label.text = dformat.string(from: today)