Использование проверки -e
будет проверять файлы, и это включает в себя каталоги.
if [ -e ${FILE_PATH_AND_NAME} ]
then
echo "The file or directory exists."
fi
Я обычно использую двойное, что-то как:
sqlite3_bind_double(statement, index, [dateObject timeIntervalSince1970]);
, где dateObject является NSDate*. Затем при вытаскивании данных из DB используйте
[NSDate dateWithTimeIntervalSince1970:doubleValueFromDatabase];
Хранилище как типичный C-time (например, значение time_t/int, возвращенное временем ()), оценивает в столбце UNSIGNED INT. Преобразуйте как drewh, сказанный с NSDate:
- timeIntervalSince1970
- dateWithTimeIntervalSince1970:(double)value
Кроме хранилища как целое число, если Вам не нужна подвторая гранулярность (который, обычно, для created-on/last-modified, излишество). Неподписанные ints намного меньше и легче обработать, чем удваивается. В то время как это не может иметь значения в большей части рабочего стола и веб-приложений больше, он, конечно, помогает на iPhone. Каждый немного помогает.
Одна дополнительная льгота C-времен, которые не понимает большинство людей, - то, что они - агностик часового пояса. Если когда-нибудь необходимо поддерживать несколько часовых поясов, это пригождается.
Я преобразовываю в строки ISO8601: http://en.wikipedia.org/wiki/ISO_8601
Намного больше readible/hackable, чем временные интервалы.
Согласно документам нет никакого Типа данных datetime! Я использую реальный тип данных и преобразовываю NSDate в реальный использование метод timeIntervalSinceReferenceDate .