LinuxForum.Fans
Тема

QDate and year()

Автор: Peter 7 сообщений 2082 просмотров
#196564

Здравствуйте!

Для объекта типа QDate получить год можно несколькими способами, один из них -
int year(), но я не понимаю, что она возвращает. Там в описании QDate какие-то
неизвестные мне названия. Например, для текущего года она вернула -37.
М.б., кто-нибудь знает, что она возвращает и как из этого получить обычный год.

Пётр.

#196566

возвращает год, как целое о_О

qDebug() << QDate::currentDate().year(); // выводит 2011, по крайней мере у меня...

#196595

Это лишний раз показывает, что я человек неудачливый.
Я сделал так, сокращённо:

text

int n;
QDate dat;
dat=QDate::currentDate();
n=dat.year();

и при этом n присвоилось -37. В описании QDate сказано, что это возможно,
но там какие-то неизвестные мне обозначения.

Пётр.

#196604
http://doc.qt.nokia.com/latest/qdate.html написал:
Returns the year of this date. Negative numbers indicate years before 1 A.D. = 1 C.E., such that year -44 is 44 B.C.

Вольный перевод: Возвращает год для этой даты. Негативные значения обозначают годы до 1 н.э. (до Рождества Христова), таким образом -44 это 44 до н.э.
Практически уверен, что это не наш случай... Или я не то описание читаю?

#196608

Описание то, там, кроме этого, есть ещё какие-то объяснения, целый абзац,
вот которого я и не понимаю.
Другие функции возвращают 2011.

Пётр.

#196609
Peter написал:
Описание то, там, кроме этого, есть ещё какие-то объяснения, целый абзац,
вот которого я и не понимаю.

эх... телепатия у меня хромает...какой абзац?

#196784

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

text
n=arr[9]=dat.year();

arr же был массивом типа char. Т.е. сначала ему присваивался младший байт
возвращённого значения, а потом уже n присваивался элемент arr[9],
содержащий этот байт. Надо было написать в противоположном порядке.

Пётр.

Войдите или зарегистрируйтесь, чтобы ответить.