1

unsigned long long intマイクロ秒 (変数内に保存) から、時間、分、秒、ミリ秒としての表現に渡す必要があります。つまり、次のようになります。

from 47072349659 to 13:04:32.350

この変換は milliseconds から見つかりましたが、私の場合はうまくいかないようです。おそらく問題は、数値が長すぎて特定の変数型に格納できないことでしょうか? 入力時間に使用unsigned long long intし、出力にint、long、unsigned long long intを試しました。

ここに私のC++コードがあります:

unsigned long long int timestamp;

long milliseconds   = (long) (timestamp / 1000000) % 1000;
long seconds    = (long) ((timestamp / (1000)) % 60);
long minutes    = (long) ((timestamp / (60000)) % 60);
long hours      = (long) ((timestamp / (3600000)) % 24);
4

1 に答える 1

3

あなたの間違いはあなたのデバイダーにあると思います:

long milliseconds   = (long) (timestamp / 1000) % 1000;
long seconds    = (((long) (timestamp / 1000) - milliseconds)/1000)%60 ;
long minutes    = (((((long) (timestamp / 1000) - milliseconds)/1000) - seconds)/60) %60 
long hours      = ((((((long) (timestamp / 1000) - milliseconds)/1000) - seconds)/60) - minutes)/60
于 2013-01-29T10:31:04.577 に答える