Это значение с компьютера пользователя, и его можно изменить в любое время, поэтому я думаю, что это не имеет значения, я просто хочу получить приблизительное значение и затем преобразовать его в GMT на моем сервере.
Например, я из Тайваня, и он возвращает «+8» для меня.
JS
function timezone() {
var offset = new Date().getTimezoneOffset();
var minutes = Math.abs(offset);
var hours = Math.floor(minutes / 60);
var prefix = offset < 0 ? "+" : "-";
return prefix+hours;
}
$('#result').html(timezone());
HTML
Результат
+8
Попробуйте перегрузить < < оператор в Челтуиели:
friend ostream& operator<<(ostream& os, const Cheltuieli& x)
{
os << x.name;
return os;
}
Из того, что я могу сказать, класс Cheltuieli
реализует очень маленькое подмножество того, что уже сделано в классе std::string
- но это неполно, так что если вы сделаете:
Cheltuieli orig("something");
Cheltuieli cpy = orig;
оба orig
и cpy
будут иметь член name
, указывающий на один и тот же адрес из-за конструктора копирования по умолчанию. Читайте о Правило три / пять / ноль .
Точно так же класс Repo
, кажется, реализует что-то близкое к std::vector
. Я предлагаю вам не начинать возиться с необработанными указателями, а использовать для этого стандартные классы. Вы могли бы даже сделать псевдонимы для них:
using Cheltuieli = std::string;
using Repo = std::vector<Cheltuieli>;
Используется так:
Cheltuieli a = "pizza";
Repo n;
n.push_back(a);
n.push_back(a);
for(auto& cheltuieli : n) {
std::cout << cheltuieli << "\n";
}