LabWindows/CVI ユーザー インターフェースで Excel 形式の日付/時刻を作成する方法

更新しました Dec 31, 2023

環境

ソフトウェア

  • LabWindows/CVI

Excel は、日付データを 1900 年 1 月 1 日からの日数として表します。ただし、この表現にはエラーがあります。正しい日数を取得するには、2 日を引く必要があります。詳細については、次の [外部] リンクを参照してください
 

Excel からインポートされた Double データを変換するには、double を操作してから、time ライブラリを使用して変換する必要があります。

次のステップは、windows time ライブラリを使用することです。次の URL にあるコード スニペットを使用して、変換を実行できます。  http://www.thinkage.ca/english/gcos/expl/c/lib/strfti.html

タイム ライブラリと互換性を持たせるには、Excel から取得した double を変更する必要があります。 time ライブラリは、「EPOCH からの秒数」という形式の引数を受け入れます。得られる double は、EPOCH からの日数です。変換は次のようになります。

 

double obtainedDateDoubleFromExcel;
double convertedDate;

convertDate = (obtainedDateDoubleFromExcel - 2) * 24 * 60 * 60;

 

上記の URL のスニペットを次のように変更できます。

 

 

double obtainedDateDoubleFromExcel;

double convertedDate;

convertedDate = (obtainedDateDoubleFromExcel - 2) * 24 * 60 * 60;

 

You may go on to modify the snippet at the above mentioned URL in the following way:

 char s[30];

 size_t i;
 struct tm tim;
 time_t now;
 now = convertedDate;
 tim = *(localtime(&now));
 i = strftime(s,30,"%b %d, %Y\n",&tim);

 

 

ソリューションセクションのコードと指示に従うことで、「now」を「time(NULL)」に設定する代わりに「convertedDate」に設定します。