タイムスタンプ資料

プログラミング言語のタイムスタンプの比較

プログラミング言語のタイムスタンプの比較

一般的なプログラミング言語にわたるタイムスタンプ操作のクイック リファレンス。

現在のタイムスタンプ

言語ミリ秒マイクロ秒
JavaScriptMath.floor(Date.now() / 1000)Date.now()パフォーマンス.now()
Pythonint(time.time())int(time.time() * 1000)time.time_ns() // 1000
ジャワSystem.currentTimeMillis() / 1000System.currentTimeMillis()Instant.now().getEpochSecond()
行くtime.Now().Unix()time.Now().UnixMilli()time.Now().UnixMicro()
PHP時間()マイクロタイム(true) * 1000microtime(true) * 1000000
ルビーTime.now.to_iTime.now.to_f * 1000Time.now.to_r
C#DateTimeOffset.UtcNow.ToUnixTimeSeconds()DateTimeOffset.UtcNow.ToUnixTimeミリ秒()-
スイフトDate().timeIntervalsince1970Int(Date().timeIntervalsince1970 * 1000)-

現在までのタイムスタンプ

言語コード
JavaScript新しい日付(タイムスタンプ * 1000)
Pythondatetime.fromtimestamp(タイムスタンプ)
ジャワInstant.ofEpochSecond(タイムスタンプ)
行くtime.Unix(タイムスタンプ, 0)
PHPdate('Y-m-d H:i:s', $timestamp)
ルビーTime.at(タイムスタンプ)
C#DateTimeOffset.FromUnixTimeSeconds(タイムスタンプ)
スイフトDate(timeIntervalsince1970: TimeInterval(タイムスタンプ))

日付からタイムスタンプまで

言語コード
JavaScriptMath.floor(date.getTime() / 1000)
Pythonint(date.timestamp())
ジャワdate.toEpochSecond(ZoneOffset.UTC)
行くdate.Unix()
PHPstrtotime('2024-01-01')
ルビー日付.to_i
C#((DateTimeOffset)date).ToUnixTimeSeconds()
スイフトInt(date.timeIntervalsince1970)

フォーマット

言語コード
JavaScriptdate.toISOString() または date.toLocaleString()
Pythondate.strftime('%Y-%m-%d %H:%M:%S')
ジャワDateTimeFormatter.ISO_DATE_TIME.format(日付)
行くdate.Format(time.RFC3339)
PHPdate('Y-m-d H:i:s', $timestamp)
ルビーdate.strftime('%Y-%m-%d %H:%M:%S')
C#date.ToString("yyyy-MM-dd HH:mm:ss")
スイフトdateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

タイムゾーンの処理

言語UTCローカル変換
JavaScriptnew Date().toISOString()new Date().toLocaleString()date.toLocaleString('en-US', {timeZone: 'UTC'})
Pythondatetime.utcnow()datetime.now()date.astimezone(タイムゾーン('UTC'))
ジャワInstant.now()LocalDateTime.now()date.atZone(ZoneId.of("UTC"))
行くtime.Now().UTC()time.Now()日付.In(時間.UTC)
PHPgmdate()日付()date_default_timezone_set('UTC')
ルビー時刻.now.utc時間.今Time.now.getutc
C#DateTime.UtcNowDateTime.NowTimeZoneInfo.ConvertTimeToUtc(日付)
スイフトDate() (内部的には常に UTC)日付()Calendar.current.dateComponents

エポックスタート

  • すべての言語では Unix エポック: 1970 年 1 月 1 日 00:00:00 UTC を使用します。
  • 例外: GPS 時間 は 1980 年 1 月 6 日を使用します
  • TAI は 1958 年 1 月 1 日を使用します

精度

  • : 最も一般的な、10 桁 (2286 まで)
  • ミリ秒: 13 桁、JavaScript のデフォルト
  • マイクロ秒: 16 桁
  • ナノ秒: 19 桁、一部のシステム

タイムゾーンのストレージ

  • JavaScript: Date オブジェクトにタイムゾーンがなく、ブラウザーのタイムゾーンを使用します
  • Python: 単純な日時オブジェクトと認識された日時オブジェクト
  • Java: インスタント (UTC) と ZonedDateTime (ゾーンあり)
  • Go: 時間オブジェクトに関連付けられた場所
  • Ruby: 時間オブジェクトにはタイムゾーン オフセットが含まれます
  • C#: DateTimeKind (未指定、UTC、ローカル)
  • Swift: 日付は常に UTC、カレンダーはゾーンを処理します

ベストプラクティス

  1. 常に UTC をデータベースに保存
  2. 現地時間に変換 表示のみ
  3. API シリアル化には ISO 8601 を使用
  4. うるう秒の取り扱いは慎重に行ってください (GPS/TAI 対 UTC)
  5. ユースケースに必要な 精度を考慮する

関連リソース