STRASMORE/EXPLORE 3,022 QUERIES

PG dividend timeline by quarter: declaration to ex date, ex date to payment

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-10-04, from PG Dividend 2026: Dates, History and Yield.

as of ranking 9×4read in context →
PG dividend timeline by quarter: declaration to ex date, ex date to payment — 9 rows by 4 columns, computed from US exchange, SIP and OPRA data.
quarter_labeldeclare_to_ex_daysex_to_record_daysex_to_pay_days
2024 Q310027
2024 Q410028
2025 Q110025
2025 Q213024
2025 Q310028
2025 Q410024
2026 Q110025
2026 Q210021
2026 Q310024
Rows × columns
9 × 4
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for PG dividend timeline by quarter: declaration to ex date, ex date to payment, derived from the stored result.
ColumnTypeRangeNotes
quarter_label text 9 distinct values (2024 Q3, 2024 Q4, 2025 Q1…)
declare_to_ex_days number 10 to 13
ex_to_record_days number every row is 0
ex_to_pay_days number 21 to 28

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    concat(toString(toYear(ex_dividend_date)), ' Q', toString(toQuarter(ex_dividend_date))) AS quarter_label,
    toInt32(dateDiff('day', any(declaration_date), ex_dividend_date)) AS declare_to_ex_days,
    toInt32(dateDiff('day', ex_dividend_date, any(record_date)))      AS ex_to_record_days,
    toInt32(dateDiff('day', ex_dividend_date, any(pay_date)))         AS ex_to_pay_days
FROM global_markets.stocks_dividends
WHERE ticker = 'PG'
  AND ex_dividend_date >= '2024-07-01'
  AND ex_dividend_date <  '2027-01-01'
GROUP BY ex_dividend_date
ORDER BY ex_dividend_date
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisPG Dividend 2026: Dates, History and Yield
PG dividends per share by calendar year, and the year-over-year step ranking 14×4 → PG trailing twelve-month dividend yield against the month-end share price series 22×3 → Every PG quarterly rate increase since 2017, and the size of each step series 10×6 → Every declared 2026 PG dividend: declaration, ex date, record date, payment series 3×7 → The annual step up in the JNJ quarterly dividend rate, and the running streak ranking 11×3 → PepsiCo dividends per share by year, with the annual step ranking 10×4 → See all 3,022 queries →