Office用アプリ開発概要:セミナー登壇資料

先日開催されました、「技術ひろば.net 勉強会 11月30日」にて、「Office用アプリ開発概要」と題しまして、登壇させていただきました。

このセッションの中で、Excelの日時シリアル値をJavaScriptのDate型に変換するコードを紹介しましたところ、参加されているみなさんよりコード化を希望されましたので、以下に貼り付けておきます。ライブラリ化するほどのことでもないので、利用者ご自身の責任にてお使いください。

var oneDayInMilliseconds = 86400000; // 1日分のミリ秒
// 1900/1/1 が 1ということは、1899/12/31 が 0 である。
var excelOriginDateInMilliseconds = new Date(1899, 11, 31).getTime();
var val1 = Math.floor(excelDateTimeSerialValue); // Excelシリアル値の整数部分
var val2 = excelDateTimeSerialValue - val1; // Excelシリアル値の小数部分
// 日付部分から1日引く。// 2013/10/26 10:00 は、数量的には「2013/10/25までの日数 と 10 時間」という意味である。
var day = oneDayInMilliseconds * (val1 - 1);
var time = oneDayInMilliseconds * val2;
var dateTime = day + time + excelOriginDateInMilliseconds;
// Dateオブジェクトの生成
var result = new Date();
result.setTime(dateTime);
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中