DateTime型の表示形式の変更

【ご質問】
DateTime型を「09/Mar/2009」のような形式に変換することは可能でしょうか。
DateTimeFormatter.short-month-namesを使えばできそうなのですが、
上記形式に変換することができませんでした。

【回答】
formatマクロにある”%m”引数を使用すれば、
DateTimeFormatterオブジェクトを使って、DateTimeオブジェクトをフォーマットすることができます。

しかし、その場合どのような形式でフォーマットするかはDateTimeFormatterで可能な範囲となってしまうため、
要求の「09/Mar/2009」という形式にはフォーマットできません。

そのため、上記形式で表示させるには、文字列解析のような処理をする必要になるかと思います。

詳細は以下のサンプルをご参照ください。

{curl 6.0,7.0,8.0 applet}
{curl-file-attributes character-encoding = “shift-jis”}

{import * from CURL.LANGUAGE.FORMAT}

{value
    let date-time:DateTime = {DateTime}
    let formatter:DateTimeFormatter =
        {DateTimeFormatter
            style = “long”,
            include-time? = false,
            locale = {Locale “en-US”}
        }

    {Table columns = 2,

        “format マクロ使用”, {format “%m”, formatter, date-time},

        “format マクロ使用だが事実上文字列解析”,
        {format “%s/%s/%s”,
            date-time.info.day,
            formatter.short-month-names[date-time.info.month – 1],
            date-time.info.year
        }
    }
}