有効期限の設定
Cookie には有効期限があり、ブラウザでの保持期間を設定できます。
ここでは、本日から 1 週間の有効期限を設定します。このために、Caché システム変数 $H から現在の日時を取得し、先頭にプラス演算子を付けることで時間部を数値化して 7 を加算します。
この日付をブラウザに合った形式にします。GMT タイムゾーンと同様の、曜日、日、月、年、時間という形式です。以下はその例です。
Fri, 10 Aug 2001 22:22:00 GMT
Caché は正確な形式で日付を設定する機能を持ちませんが、$ZD (日付) 関数オプションを使用して日付を設定できます。
—TicketConfirm.OnPreHTTP—
TicketConfirm.OnPreHTTP
ClassMethod OnPreHTTP() As %Boolean
{
If $data(%session.Data("Order")) {
Set ord = ##class(Cinema.TicketOrder).%OpenId(%session.Data("Order"))
Set itm = ord.Items.GetAt(1)
Set cat = itm.Show.Film.Category.%Id()
// Put a cookie on the users computer
Set Expires = +$H + 7
Set Expires = $ZD(Expires,11) _ ", " _ $ZD(Expires,2) _ " 00:00:00 GMT"
// ...
}
Quit 1
}
メモ : “_” は連結演算子です。