Мой часовой пояс +0700
, я во Вьетнаме. Я использую C ++ strftime
для получения часового пояса, но результат отличается от Java SimpleDateFormat
.
Мой код C ++:
tm* curr_tm;
curr_tm = localtime(&timenum);
char date_string[100];
std::string format = "'Timezone is :' %Z %z";
strftime(date_string, sizeof date_string, format.c_str(), curr_tm);
cout << date_string;//output: Timezone is : SE Asia Standard Time+0700
Мой код Java:
SimpleDateFormat formatter = new SimpleDateFormat("'Timezone is :' zzzz Z");
result = formatter.format(new Date((long) timestamp));
System.out.println(result);//output: Timezone is : Indochina Time+0700
Мой ожидаемый вывод C ++ должен быть таким же, как Java. Есть ли разница между форматом часовых поясов этих двух библиотек, и как я могу получить тот же результат, что и Java из C ++.