よく使う日付関数

  • 作成者:ayuan0625
  • 編集回数:20次
  • 最終更新:FRInternational 于 2021-11-27
  • 一.概要

    日付型データに関する操作に当たり、現在の日付や現在の時刻、日付の年月日などを取得する場面がよくあります。

    本文はFineReportでよくある日付関数を紹介します。

    注意:日付型数式をパラメータとしてハイパーリンクで転送する際、時・分・秒を含む初期値が送られることになります。

    二.指定の日付と時間の取得

    実現する内容

    数式

    結果

    現在の時刻の取得

    現在の日付の取得(年月日)

    =today()

    システムの日付が2011年11月11日の場合、「2011-11-11」が返されます

    現在の時刻の取得(時、分、秒)

    =now()

    セル形式が標準で、システムの日付が2012年06月20日の場合、「2012-06-2014:55:57」が返されます

    現在の月が属する四半期の表示

    =roundup(month(today())/3)

    システムの日付が2011年11月11日の場合、「4」が返されます

    日付の年月日の取得

    年の取得

    =year("2011-11-11")

    2011が返されます

    月の取得

    =month("2011-11-11")

    11が返されます

    日付の取得

    =day("2011-11-11")

    11が返されます

    ある年/四半期//週の指定された日の取得

    DATEINYEAR(date,number)

    ある年の指定された日を取得

    現在の年の最初の日

    =dateinyear(today(),1)

    システの日付が2011-11-11の場合、2011-01-01が返されます

    現在の年の最後の日

    =dateinyear(today(),-1)

    システムの日付が2011-11-11の場合、2011-12-31が返されます

    DATEINQUARTER(date,number)ある四半期の指定された日を取得

    現在の四半期の最初の日

    =dateinquarter(today(),1)

    システムの日付が2011-11-11の場合、2011-10-01が返されます

    現在の四半期の最後の日

    =dateinquarter(today(),-1)

    システムの日付が2011-11-11の場合、2011-12-31が返されます

    DATEINMONTH(date,number)

    ある月の指定された日を取得

    現在の月の最初の日

    =dateinmonth(today(),1)

    システムの日付が2011-11-11の場合、2011-11-01が返されます

    現在の月の最後の日

    =dateinmonth(today(),-1)

    システムの日付が2011-11-11の場合、2011-11-30が返されます

    DATEINWEEK(date,number)

    ある週の指定された日を取得

    現在の週の最初の日

    =dateinweek(today(),1)

    システムの日付が2011-11-11の場合、2011-11-07が返されます

    現在の週の最後の日

    =dateinweek(today(),-1)

    システムの日付が2011-11-11の場合、2011-11-13が返されます

    現在の月に関係するある日付の取得

    現在の月

    =MONTH(today())

    システムの日付が2011-11-11の場合、11が返されます

    去年の本日

    =YEARDELTA(today(),-1)

    システムの日付が2011-11-11の場合、2010-11-11が返されます

    先々月

    =date(year(today()),MONTH(today())-2,day(today()))

    システムの日付が2011-11-11の場合、2011-09-11が返されます

    先月

    =date(year(today()),MONTH(today())-1,day(today()))

    システムの日付が2011-11-11の場合、2011-10-11が返されます

    去年の本日の先月

    =date(year(today())-1,MONTH(today())-1,day(today()))

    システムの日付が2011-11-11の場合、2010-10-11が返されます

    先月末

    =DATEINMONTH(MONTHDELTA(TODAY(),-1),-1)

    システムの日付が2011-11-11の場合、2011-10-31が返されます

    先月初め

    =DATEINMONTH(MONTHDELTA(TODAY(),-1),1)

    システムの日付が2011-11-11の場合、2010-10-01が返されます

    三.時間の変換

    実現する内容

    数式

    結果

    データ型の変換

    日付の形式を文字列から時間型に変換

    todate()はあらゆる日付の形式をyyyy-MM-ddという時間型に変換可能

    =todate("2011/11/11")

    システムの日付が2011年11月11日の場合、2011-11-11が返されます

    時間型データをほかの形式の日付に変換

    format()

    =format("2/15/2011","dd/MM/yyyy")

    15/02/2011が返されます

    四.日付の加算と減算

    datedelta()、monthdelta()、yeardelta()の三つの関数で日付の加算と減算をします。

    実現する内容

    数式

    結果

    データ型の変換

    日付の加算と減算

    =datedelta(today(),-1)

    注:数式における-1は一日減算することを表し、逆に正数ならその値を加算することになります。

    現在の日付の前の日を取得しようとする場合、システムの日付が2011-11-11なら、2011-11-10が返されます

    月の加算と減算

    =monthdelta(today(),-1)

    現在の日付の前の月を取得しようとする場合、システムの日付が2011-11-11なら、2011-10-11が返されます

    年の加算と減算

    =yeardelta(today(),-1)

    現在の日付の前の年を取得しようとする場合、システムの日付が2011-11-11なら、2010-11-11が返されます


    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read