我是QT C++的初学者,我试图在label_j
上打印Julian的日期,并尊重数组列表中提到的值。我无法做到这一点。请你能看到并纠正它。提前致谢。根据Julian日历计算的月份
当前月份已经从UTC, 取如果一个月等于一月然后打印0, 一个月等于然后打印31, 月三月等于然后打印59,以此类推,直到它达到12月合约。
void MainWindow::getJulianDay()
{
int month_arr[]={0,31,59,90,120,151,181,212,243,273,304,334};
QString January, February, March, April, May, June, July, August, September, October, November, December;
QDateTime local(QDateTime::currentDateTimeUtc());
QDateTime UTC(local.toUTC());
QString month=UTC.toString("MMMM");
switch (month)
{
case January:
month=month_arr[0];
break;
case February:
month=month_arr[1];
break;
case March:
month=month_arr[2];
break;
case April:
month=month_arr[3];
break;
case May:
month=month_arr[4];
break;
case June:
month=month_arr[5];
break;
case July:
month=month_arr[6];
break;
case August:
month=month_arr[7];
break;
case September:
month=month_arr[8];
break;
case October:
month=month_arr[9];
break;
case November:
month=month_arr[10];
break;
case December:
month=month_arr[11];
break;
default: month=invalid;
break;
ui->label_j->setText(month);
}
你的代码是否被编译?你的'switch'语法看起来不对,即你从不指定case值:'case 1:...'。您将一个字符串分配给一个int,即'month =“January”;'。您将一个int分配给QString,即'answer = month_arr [0];'。 – m7913d
@ m7913d ...谢谢你的关注,那么,请问你会在这里看到我的确切代码。非常感谢 – Explorer