Я хочу найти файлы в папке и проверить, сколько им лет.
У меня есть этот фрагмент кода, который не работает так, как я ожидаю, согласно документации и примерам, которые я подписались:
const QDate today = QDate::currentDate();
Q_FOREACH(auto fileInfo, QDir("folderName").entryInfoList(QDir::Files)) {
// These variables are added to the watch table to see their values
auto test1 = fileInfo.created().date().daysTo(today);
auto test2 = fileInfo.baseName();
auto test3 = fileInfo.suffix();
}
Я добавляю переменные test1, test2, test3 в таблицу наблюдения, чтобы посмотреть, какие у них значения.
Мне кажется, чтоdaysTo(today ) возвращает 0, потому что сегодня — недопустимый формат. Это в юлианский день. Но он имеет тип QDate, а QDate::daysTo(QDate d) хочет переменную типа QDate в качестве параметра. Мне это кажется правильным?
И правильные файлы тоже находятся, проверив по базовому имени и суффиксу. И им не 0 дней... Скорее месяц или около того.
Почему DayTo возвращает 0, хотя вроде бы все в порядке?
Я использую QT 5.15.2.
Обновление: я добавил еще несколько тестов и изменил функцию create() наbirthTime(). См. комментарии к результатам, которые я нахожу при просмотре переменных в таблице наблюдения:
const QDate today = QDate::currentDate();
Q_FOREACH(auto fileInfo, QDir("folderName").entryInfoList(QDir::Files)) {
auto test1 = fileInfo.birthTime().date().daysTo(today); // Gives "0"
auto test11 = fileInfo.birthTime(); // Gives "msecs=280348"
bool test111 = test31.isValid(); // Gives "true"
auto test12 = fileInfo.birthTime().date(); // Gives "Julian day=2460417"
auto test13 = fileInfo.fileTime(QFileDevice::FileBirthTime); // Gives "msecs=280311"
auto test2 = fileInfo.baseName(); // Gives "filename"
auto test3 = fileInfo.suffix(); // Gives ".jpg"
Подробнее здесь: https://stackoverflow.com/questions/783 ... ng-correct
QT 5.15.2 QDate::DaysTo возвращает 0, несмотря на то, что все типы переменных верны ⇐ C++
Программы на C++. Форум разработчиков
1713267770
Anonymous
Я хочу найти файлы в папке и проверить, сколько им лет.
У меня есть этот фрагмент кода, который не работает так, как я ожидаю, согласно документации и примерам, которые я подписались:
const QDate today = QDate::currentDate();
Q_FOREACH(auto fileInfo, QDir("folderName").entryInfoList(QDir::Files)) {
// These variables are added to the watch table to see their values
auto test1 = fileInfo.created().date().daysTo(today);
auto test2 = fileInfo.baseName();
auto test3 = fileInfo.suffix();
}
Я добавляю переменные test1, test2, test3 в таблицу наблюдения, чтобы посмотреть, какие у них значения.
Мне кажется, чтоdaysTo(today ) возвращает 0, потому что сегодня — недопустимый формат. Это в юлианский день. Но он имеет тип QDate, а QDate::daysTo(QDate d) хочет переменную типа QDate в качестве параметра. Мне это кажется правильным?
И правильные файлы тоже находятся, проверив по базовому имени и суффиксу. И им не 0 дней... Скорее месяц или около того.
Почему DayTo возвращает 0, хотя вроде бы все в порядке?
Я использую QT 5.15.2.
Обновление: я добавил еще несколько тестов и изменил функцию create() наbirthTime(). См. комментарии к результатам, которые я нахожу при просмотре переменных в таблице наблюдения:
const QDate today = QDate::currentDate();
Q_FOREACH(auto fileInfo, QDir("folderName").entryInfoList(QDir::Files)) {
auto test1 = fileInfo.birthTime().date().daysTo(today); // Gives "0"
auto test11 = fileInfo.birthTime(); // Gives "msecs=280348"
bool test111 = test31.isValid(); // Gives "true"
auto test12 = fileInfo.birthTime().date(); // Gives "Julian day=2460417"
auto test13 = fileInfo.fileTime(QFileDevice::FileBirthTime); // Gives "msecs=280311"
auto test2 = fileInfo.baseName(); // Gives "filename"
auto test3 = fileInfo.suffix(); // Gives ".jpg"
Подробнее здесь: [url]https://stackoverflow.com/questions/78333184/qt-5-15-2-qdatedaysto-returns-0-despite-all-variable-types-being-correct[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия