Строковое описание NSDate

Пожалуйста, попробуйте это.

  1. Первый путь:
select SUBSTRING(fieldName, PATINDEX('%[0-9]%', fieldName), LEN(fieldName))
from table_name
  1. Второй путь:
select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name
19
задан Michael Morrison 8 October 2011 в 18:14
поделиться

3 ответа

Вы используете неправильный метод. Вместо этого попробуйте descriptionWithCalendarFormat: timeZone: locale:

[[NSDate date] descriptionWithCalendarFormat:@"%Y-%m-%d"
                                    timezone:nil
                                      locale:nil];

Также обратите внимание, что метод ожидает формат, отличный от того, который задан в вашем вопросе. Полная документация для этого может быть найдена здесь .

РЕДАКТИРОВАТЬ: Хотя, как отметил Майк, вам действительно следует использовать NSDateFormatter . Существуют некоторые проблемы с описанием descriptionWithCalendarFormat: timezone: locale: , которое Apple упоминает в документации.

32
ответ дан 30 November 2019 в 01:44
поделиться

Если у вас нет NSDate -descriptionWithCalendarFormat: timeZone: locale: доступно (я не верю, что iPhone / Cocoa Touch включает это), вам может понадобиться использовать strftime и обезьяна с некоторыми строками в стиле C. Вы можете получить метку времени UNIX из NSDate, используя NSDate -timeIntervalSince1970 .

1
ответ дан 30 November 2019 в 01:44
поделиться

Также обратите внимание, что в большинстве случаев NSDateFormatter предпочтительнее за его гибкость.

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

10
ответ дан 30 November 2019 в 01:44
поделиться