http://FMPro.info  FileMaker Pro 関連総合ポータルサイト

NextDayOfWeek 関数

カテゴリー : 日付
計算結果のデータタイプ : 日付
対応FileMakerバージョン : 対応 7  対応 8  対応 8.5  対応 9  対応 10  対応 11  未対応 12  未対応 13  未対応 14  未対応 15
作者 : 社本修司 株式会社ジェネコム

概要

指定した日付の次の指定した曜日のの日付を得ます。

構文

NextDayOfWeek ( 日付 ; 曜日 )

引数

引数名タイプ備考
日付日付 2005.01.21
曜日テキスト「月曜日」・「月」・「Monday」・「Mon」・「2(数字形式;1=Sun , 2=Mon ... 7=Sat)」

別のウィンドウで、引数の値を変更してテストすることが出来ます

NextDayOfWeek ( "2005.01.21" ; "月" )

結果

2005.01.24

/*==============================================================

  カスタム関数    
NextDayOfWeek ( 日付 ; 曜日 )

  CopyRight©2004,SHAMOTO Syuji
  <http://www.FMPro.jp>

  
  指定した日付の次の指定した曜日のの日付を得ます。
  曜日の指定は、
  「月曜日」・「月」・「Monday」・「Mon」・「2(数字形式;1=Sun , 2=Mon ... 7=Sat)」
  の各形式に対応しています。
  
  このカスタム関数を引用するに当たっては、必ずコメントも一緒に引用してください。

=============================================================*/

Let
(
    [
    theDate = 日付 ;

    WeekListN = "1 2 3 4 5 6 7 " ;
    WeekListE = "Sunday    Monday    Tuesday   Wednesday Thursday  Friday    Saturday   " ;
    WeekListJ = "日 月 火 水 木 金 土 " ;

    N =
    Case(
    
    PatternCount ( WeekListN ; GetAsNumber ( 曜日 ) ) ;     // 数字形式の場合
            (
Position ( WeekListN ; GetAsNumber ( 曜日 ) ; 1 ; 1 ) + 1 ) / 2 ;
    
    PatternCount ( WeekListE ; Proper ( 曜日 ) ) ;             // 英語表記の場合
            (
Position ( WeekListE ; Proper ( 曜日 ) ; 1 ; 1 ) + 9 ) / 10 ;
    
    PatternCount ( WeekListJ ; Left ( 曜日 ; 1 ) ) ;             // 日本語表記の場合
            (
Position ( WeekListJ ; Left ( 曜日 ; 1 ) ; 1 ; 1 ) + 1 ) / 2
    ) ;
    PlusDays =
    Case (
        N -
DayOfWeek ( theDate )  = 0 ;
            7 ;
        N -
DayOfWeek ( theDate )  > 0 ;
            N -
DayOfWeek ( theDate ) ;
            (
Position ( "-6 -5 -4 -3 -2 -1" ; N - DayOfWeek ( theDate )  ; 1 ; 1 ) + 2 ) / 3
    )
    ];
    Case (
        not (
IsEmpty ( theDate ) or IsEmpty ( N ) ) ;
            theDate + PlusDays
    )
)


エンコードは Unicode (UTF-8)、改行タイプは LF (Unix) 形式のテキストとして保存します。
テキストエディタで正常に開かない場合は、エンコードを指定してファイルを開くようにしてください。

詳細説明

指定した日付の次の指定した曜日のの日付を得ます。
曜日の指定は、
「月曜日」・「月」・「Monday」・「Mon」・「2(数字形式;1=Sun , 2=Mon ... 7=Sat)」
の各形式に対応しています。

この関数が使用する他のカスタム関数

この関数を使用する他のカスタム関数

注意:ここで紹介されているカスタム関数をご自分のシステムに組み込んだ場合に発生した問題についてはFMPro.infoは責任を負いません。

Copyright © 2004-2009 FMPro.info All Rights Reserved.