← inaro.devShopify学習ツール
07-08

数値・日付フィルタ

数値計算と日付整形をフィルタで行い、割引率や日付表示を実装できる

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、数値の計算と日付の整形をフィルタで行い、割引率や日付の表示を作れるようになります。
受託では、「◯% OFF」の表示と記事の日付の整形が、どちらも改修で頻出です。

計算のフィルタ

plus / minus / times / divided_by / moduloで計算します。
`divided_by`は両方が整数だと整数除算になります7 | divided_by: 2は3)。
小数が欲しいときは、Shopifyではdivided_by: 2.0のように小数で書きます。
丸めはround(桁数を指定できます)/ ceil / floor、範囲の制限はat_least / at_most、絶対値はabsです。

割引率はどう計算するか

compare_at_price | minus: price | times: 100 | divided_by: compare_at_priceで、整数の割引率になります(切り捨て)。
価格は最小単位×100の整数ですが、比率を出すだけなので、そのまま計算してかまいません。
整数除算を知らないと、小数が切り捨てられた結果に戸惑います。

日付はどう整形するか

dateフィルタに、strftimeの書式を渡します。
'%Y年%m月%d日'で日本語の日付になり、'now'で現在時刻を扱えます。
article.published_at | date: '%Y.%m.%d'が定番の形です。
タイムゾーンは、ストアの設定に従います。

この演習環境の制約

本物のShopifyは、100.0のような小数リテラルを小数として扱います。
この演習環境では、整数と区別できません。
そのため、演習は整数の計算だけにしてあります。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。