Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
1

Как сменить локаль? Хотя бы для вывода времени

30.08.2012, 14:18. Просмотров 1053. Ответов 3
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <QtCore>
 
int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);
   QDateTime oldTime = QDateTime::currentDateTime();
   QLocale locale(QLocale::English, QLocale::UnitedStates);
   qDebug() << "before";
   qDebug() << QLocale::system().languageToString(QLocale::system().language());
   qDebug() << QLocale::system().countryToString(QLocale::system().country());
   qDebug() << oldTime.toString("MMM dddd");
 
   QLocale::setDefault(locale); // ключевой момент
 
   QDateTime newTime = QDateTime::currentDateTime();
 
   qDebug() << "after:";
   qDebug() << QLocale::system().languageToString(QLocale::system().language());
   qDebug() << QLocale::system().countryToString(QLocale::system().country());
   qDebug() << newTime.toString("MMM dddd");
   return a.exec();
}
Вывод:
before
"Russian"
"RussianFederation"
"авг четверг"
after:
"Russian"
"RussianFederation"
"авг четверг"

Нужно выводить дату на английском. Но этот код, как мы видим, ни к чему не приводит. Кто виноват и что делать?

Добавлено через 13 минут
Пока нашел только один способ - через функцию locale.toString(newTime, "MMM dddd");
Но хотелось бы делать это централизованно. Наверное, придется наследовать этот класс и добавлять поддержку локалей
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2012, 14:18
Ответы с готовыми решениями:

Как правильно проверить, что системная локаль русская?
Имеется Убунта, локаль ru_RU.UTF-8 Qt 4.8 QtCreator локаль понимает, т.е. в...

Как сменить User-Agent для qWebView?
Есть какой нибудь конкретный пример?

Как написать код для вывода на экран времени последнего входа в ОС?
Кому не лень, подскажите код для вывода на экран время последнего входа в...

Как задать локаль для потока?
Задача прочитать UTF-8 без BOM из файла в std::wstring. Однобайтные символы...

Как сменить провайдера по времени
Привет. У меня есть торговый робот для Forex и я его включаю на сутки, чтобы...

3
Чистый
Автор FAQ
2713 / 1409 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
30.08.2012, 17:52 2
посмотри в этой же ветке была такая тема.....
0
Buckstabue
30.08.2012, 17:58  [ТС]
  #3

Не по теме:

Случайно не мною ли созданная? Там помню с кодировкой вывода в файл определиться не мог

0
Чистый
Автор FAQ
2713 / 1409 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
31.08.2012, 11:17 4
думаешь я помню ? Вечером поищу сюда скину линк
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2012, 11:17

Таймер для вывода времени на экран
Я только учусь работать с JS. Мне нужно написать код, используя одноразовый...

Чтение и вывод текущего времени
Написать прогу на Асемблере для чтения и вывода на экран текущего времени. А...

Сортировка php данных из трех таблиц для вывода по времени
Всем доброго времени суток, опишу следующую проблему которую я не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru