Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

日付とタイムスタンプ

1. 日付の加算または減算

日付に日数を加算または減算する

  • F.date_add(開始, 日数)
  • F.date_sub(開始, 日数)

日付に月を加算する

  • F.add_months(開始, 月数)

二つの日付間の日数または月数を取得する

  • F.datediff(終了, 開始)
  • F.months_between(date1, date2)

月の最終日を取得する

  • F.last_day(日付)

次の曜日の日付を取得する

  • F.next_day(日付, 曜日)

2. 日付の値

年、月、日、分、秒を取得する

  • F.year(行)
  • F.month(行)
  • F.dayofmonth(行)
  • F.hour(行)
  • F.minute(行)
  • F.second(行)

日付からビジネス四半期を取得する

  • F.quarter(行)

日付から年の日または週を取得する

  • F.dayofyear(行)
  • F.weekofyear(行)

3. フォーマット

日付&時間のフォーマット構文

こちらがクイックリファレンスとなります:

フォーマット
yyyy-MM-dd1997-01-31
yyyy-MM-dd HH:mm1997-01-31 23:59:59

日付のフォーマット文字列のパターンは Java のクラス java.text.SimpleDateFormat に基づいています。完全なリファレンスは Date & Time Format Syntax Table ↗ でご覧いただけます。

文字列からの変換

  • F.to_date(行, format=None)
  • F.to_timestamp(行, format=None)
  • F.to_utc_timestamp(timestamp, tz)
  • F.unix_timestamp(timestamp=None, format='yyyy-MM-dd HH:mm:ss')

文字列への変換

  • F.date_format(日付, format)
  • F.from_unixtime(timestamp, format='yyyy-MM-dd HH:mm:ss')
  • F.from_utc_timestamp(timestamp, tz)

long から timestamp へのキャスト

一部のシステムではタイムスタンプを long データ型、つまりミリ秒で保存します。PySpark SQL ではタイムスタンプを秒で保存します。タイムスタンプを正しく timestamp にキャストするためには、long バージョンのタイムスタンプを 1000 で割る必要があります: