Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

有効期限の設定

ここでは、本日から 1 年間の有効期限を設定します。このために、Caché システム変数 $H から現在の日時を取得し、先頭にプラス演算子を付けることで時間部を数値化して 365 を加算します。

この日付をブラウザに合った形式にします。GMT タイムゾーンと同様の、曜日、日、月、年、時間という形式です。以下はその例です。

Tue, 15 Aug 2000 14:16:33 GMT

Caché は正確な形式で日付を設定する機能を持ちませんが、$ZD (日付) 関数オプションを使用して日付を設定できます。

—Utils.CompleteOrder—
Utils.CompleteOrder
ClassMethod CompleteOrder()
{
    // For each film, update the number of tickets sold
    Set ItemList = 
            ##class(%Library.ResultSet).%New("Cinema.TicketItem:ShowItem")
    Do ItemList.Execute(OrderID)
    While ItemList.Next() {
        Set Film=##class(Cinema.Film).%OpenId(ItemList.Get("Film"))
        Set Film.TicketsSold = Film.TicketsSold 
             + ItemList.Get("AdultTickets") + ItemList.Get("ChildTickets")
        Set ItemID = ItemList.Get("ID") 
        Do Film.%Save()
        Set Film = ""
    } 
    Set ItemList = ""
    // Put a cookie on the user's computer
    Set Expires = +$H + 365 
    Set Expires = $ZD(Expires,11) _ ", " _ $ZD(Expires,2) _ " 00:00:00 GMT" 
    Set Item = ##class(Cinema.TicketItem).%OpenId(ItemID)
    Do %response.SetCookie("CacheCinemaLastCategory", 
        Item.Show.Film.Category.%Id(), Expires, "/") 
    Set Item = "" 
    // End the session
    Set %session.EndSession = 1
    Quit
}
FeedbackOpens in a new tab