Obliczanie różnicy czasu

Odpowiedz Nowy wątek
2015-01-02 21:19
0

Witam.

Chciałem napisać program, który na podstawie aktualnego czasu, oblicza różnicę czasu w innym mieście/państwie.
Czas innych miast może być oczywiście stałą wartością.

Do tej pory - pomijając problemy z poleceniem localtime w MSVS, "uciekłem" do DevC++ - mam taki kod

#include <ctime>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int zegar(time_t & t)
{
    t = time(NULL);
   struct tm* czas;
   czas = localtime( &t );
 
   cout << "Godzina " << czas->tm_hour << ":" << czas->tm_min << ":"
   << czas->tm_sec << endl;
   return t;
}
 
int main()
{
    time_t t, czas;
    struct tm* miasto;
    double roznica;
    struct tm * koniec;
    zegar(t);
    time( & czas);
    time( & t);
    koniec = localtime(&czas);
    miasto = localtime(&t);
    time (&koniec);
    roznica = difftime(miasto, koniec);
    cout << roznica;
 
    return 0;
}

Aktualny czas pobiera prawidłowo. Problem jest w funkcji main(). Ten kod w main'ie oczywiscie jest zły i nie umozliwia mi uruchomienie programu. Jestem noob i samouk i nie mogę znaleźć rozwiązania na ten problem. Aktualny kod jest po dziesiątkach przerobień i prób. Pomożecie? Z góry dzięki.

P.S. To, że tutaj napisałem, nie znaczy, że przestałem sam próbować ;)

edytowany 3x, ostatnio: furious programming, 2015-01-02 22:04

Pozostało 580 znaków

2015-01-02 22:19
0

Coś nie bardzo rozumiem co chcesz osiągnąć, aby wyświetlić czas innego miasta to musisz znać jego TIME_ZONE jeżeli ją znasz to znasz różnicę czasów.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-02 23:02
0

Tak jak w temacie, obliczyć różnicę czasu.
np. między moim miastem (strefą czasową) a miastem wybranym, różnica wynosi X min.

Pozostało 580 znaków

2015-01-02 23:17
0

To stwórz sobie tablicę miast ze wskazaniem zony czasowej.

X=abs(MOJA_ZONA-Miasta[i].ZONA)*60;

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-03 08:41
0

Dalej mam z tym problem

int main()
{
    time_t t, miasta[5], czas;
    struct tm* miasto;
    czas = time(NULL);
    double roznica;
 
    zegar(t);
    miasta[1] = localtime(&czas);
    roznica = abs(t-miasta[1])*60;
    cout << roznica;
 
    return 0;
} 

Błąd
C:\...\DevC++\Czas\main.cpp [Error] invalid conversion from 'tm*' to 'time_t {aka long long int}' [-fpermissive]

Pozostało 580 znaków

2015-01-03 10:41
0

Wywal wszelkie time_t , time(), struct tm, localtime to wszystko nie jest ci potrzebne.
Jeżeli chcesz automatycznie wykryć timezone to:

   time_t t=0;
   char buf[8];
   strftime(buf,sizeof(buf),"%Z",localtime(&t));
   int min=atoi(buf);
   min-=40*(min/100);
   printf("odchylenie minutowe twojej time zony to %d\n",min);

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0