このオンライン計算機は、人間が読みやすいカレンダーの日付と時間を正確なUnixタイムスタンプに変換します。人間は年、月、日を使って時間を整理しますが、コンピュータシステム、データベース、APIは「エポックタイム」として知られる連続した整数カウントに依存しています。このツールを使用することで、開発者は特定の未来または過去の日付を入力し、即座に対応する機械可読コードを秒(標準)およびミリ秒(JavaScript/Java)で生成できます。この計算機は、日本の開発者にとっても非常に便利です。
// 下に日付を入力してください。「ローカル」または「UTC」を選択するか、リストから特定のタイムゾーンを選んでください。
この計算機の使い方
このウィジェットは、精度を重視したモジュラー式のデジタル入力システムを特徴としています。タイムスタンプを生成するための手順は以下の通りです:
- 日付パラメータを入力: 上部のフィールドに年、月、日を数値で入力します。
- 時間パラメータを入力: 時間(0-23形式)、分、秒、ミリ秒を入力します。空白の場合、これらはゼロにデフォルト設定されます。
- タイムゾーンモードを選択: トグルスイッチを使用して、ツールが入力をどのように解釈するかを定義します。 ローカル時間として扱う を選択すると、コンピュータの現在のタイムゾーンに基づいて計算され、UTCとして扱う を選択すると、絶対的な協定世界時が使用されます。
- 生成: タイムスタンプを取得 ボタンをクリックします。ツールは、結果を秒とミリ秒の2つの形式で同時に出力します。
- データをコピー: 結果の隣にあるクリップボードアイコンをクリックして、その特定の値をコピーします。
時間入力の定義
グレゴリオ日付(人間の時間)
このツールは、国際標準であるグレゴリオ暦に基づいた日付を受け付けます。特定のコンポーネント(YYYY-MM-DD)と24時間制の時計形式(HH:MM:SS)が必要です。これらの可変コンポーネント(各月の長さが異なり、うるう年がある)を線形整数に変換することが、このコンバータの主な機能です。
タイムゾーンの感度
日付をタイムスタンプに変換する際の最も重要な要素はタイムゾーンです。「1月1日、00:00」は、地球上のどこにいるかによって異なる瞬間に発生します。
- ローカルモード: ツールは、入力した日付が現在の場所に対して相対的であると仮定します(例:ニューヨークにいる場合、EST/EDTオフセットが適用されます)。
- UTCモード: ツールは、入力を「ズールー時間」(オフセットゼロ)として扱い、これはサーバーログや国際データ交換の標準です。
変換式
グレゴリオ日付をUnixタイムスタンプに変換するには、Unixエポック(1970-01-01 00:00:00 UTC)とターゲット日付の間に経過した秒数を計算する必要があります。このアルゴリズムは、すべてのうるう年、各月の日数の変動、そして正確な時間を考慮しなければなりません。
ロジック: タイムスタンプ = (1970年からの総日数 × 86,400) + (時間 × 3600) + (分 × 60) + 秒
この計算はUTCを前提としています。ローカル時間が使用される場合、結果はその日付に特有のタイムゾーンオフセット(秒単位)を加算または減算して調整されます。
出典: 時間変換のアルゴリズムは、POSIX.1-2017標準(基本定義)に正式に定義されています。
日付からタイムスタンプへの変換表(UTC)
| ターゲット日付(UTC) | Unixタイムスタンプ(秒) |
|---|---|
| 1970-01-01 00:00:00 | 0 |
| 1980-01-01 00:00:00 | 315532800 |
| 1990-01-01 00:00:00 | 631152000 |
| 2000-01-01 00:00:00 | 946684800 |
| 2010-01-01 00:00:00 | 1262304000 |
| 2020-01-01 00:00:00 | 1577836800 |
| 2023-01-01 00:00:00 | 1672531200 |
| 2024-01-01 00:00:00 | 1704067200 |
| 2025-01-01 00:00:00 | 1735689600 |
| 2026-01-01 00:00:00 | 1767225600 |
| 2027-01-01 00:00:00 | 1798761600 |
| 2028-01-01 00:00:00 | 1830297600 |
| 2029-01-01 00:00:00 | 1861920000 |
| 2030-01-01 00:00:00 | 1893456000 |
| 2038-01-19 03:14:07 | 2147483647 |
実世界の使用例
なぜ私たちは読みやすい日付をこれらの長い整数に戻す必要があるのでしょうか?ここにこの変換が必要とされる10の一般的なシナリオがあります:
- データベースフィルタリング: 特定の日付以降に作成された行を選択するSQLクエリを書く(例:`WHERE created_at > 1704067200`)。
- APIパラメータ: 特定の時間範囲内のデータを取得するためにAPIにリクエストを送信する(例:`?start=1672531200&end=1704067200`)。
- クッキーの有効期限: 今日からちょうど1年後に期限切れになるブラウザクッキーを設定する。
- クロンジョブ: 特定の未来の瞬間にサーバータスクを実行するようにスケジュールする。
- ライセンスキー: 特定の日付以降に無効になるソフトウェアライセンスを生成する。
- カウントダウンタイマー: 製品の発売やイベントまでの残り秒数を計算する。
- キャッシングヘッダー: HTTPヘッダー(`Expires`)を設定して、ブラウザがコンテンツをどれだけの期間保存するかを制御する。
- ファイルシステム: `touch`のようなコマンドラインツールを使用してファイルの「最終更新」属性を手動で変更する。
- デジタル証明書: SSL/TLS証明書の「有効開始」と「有効終了」期間を定義する。
- テスト: ユニットテストで時間をモックして、ソフトウェアがうるう年や年のロールオーバー中にどのように動作するかを検証する。
このツールがあなたの開発ワークフローを簡素化することを願っています。この計算機をAPIパラメータの設定、データベース管理、またはシステム管理に使用していますか?他に見たい時間関連のユーティリティがあれば、下のコメントセクションでお知らせください。
CalcuLife.com









コメントする