2016-10-11 4 views
1

私はMFCを使ってVC++プロジェクトに取り組んでいます。私の関数には、 "10/11/2016 03:00:00"の値を持つCTimeオブジェクトがあります。そのようなものです。与えられたCTimeから1秒を引いて

時間部分から1秒を減算したいと思います。 CTime値がによる減算後にし、「2016年10月22日午前7時45分50秒」であれば、それは、

「2016年10月11日2時59分59秒」などのためにそう

のようになります。 1、これはエラーを与える - 1秒それは、 "2016年10月22日午前7時45分49秒"

私が試した、

はCTimeでなければなりません。

UPDATE:

私は経由してこれを固定し、

time_t myTime= CTime.GetTime(); 
myTime= myTime - 1; 

のtime_tは、秒単位で時間を与え、したがって、それは、この時点でまっすぐです。

答えて

2

CTimeに追加または削除するには、追加または削除する期間を示すのにCTimeSpanオブジェクトを使用する必要があります。例えば

、第二の減算する:

CTime cNewTime = cOldTime - CTimeSpan(0, 0, 0, 1); 
+0

私はちょうどUPDATEとして添加方法を使用して固定しました。あなたは、この種の提案についてあなたの答えを投票しています。 –

+0

@Donsan:この回答で提供されるコードは、提案されたソリューションよりもはるかに読みやすいです。それは明示的に著者の意図を伝えます(*「タイムスパンを引く」*)。これは常にあなたの第一の目標です。 – IInspectable

関連する問題