DATELIB : 日付

概要

日付を扱う関数・サブルーチンパッケージ. このパッケージの説明では,次の用語を用いる.

サブルーチンのリスト

                                                                       
  DATE12(IDATE,IY,ITD)          1型の日付を2型の日付に変換する.       
                                                                       
  DATE13(IDATE,IY,IM,ID)        1型の日付を3型の日付に変換する.       
                                                                       
  DATE21(IDATE,IY,ITD)          2型の日付を1型の日付に変換する.       
                                                                       
  DATE23(IY,IM,ID,ITD)          2型の日付を3型の日付に変換する.       
                                                                       
  DATE31(IDATE,IY,IM,ID)        3型の日付を1型の日付に変換する.       
                                                                       
  DATE32(IY,IM,ID,ITD)          3型の日付を2型の日付に変換する.       
                                                                       
  DATEF1(N,IDATE,NDATE)         IDATEのN日後(NDATE)を求める.          
                                                                       
  DATEF2(N,IY,ITD,NY,NTD)       IY,ITDのN日後(NY,NTD)を求める.        
                                                                       
  DATEF3(N,IY,IM,ID,NY,NM,ND)   IY,IM,IDのN日後(NY,NM,ND)を求める.    
                                                                       
  DATEG1(N,IDATE,NDATE)         IDATEの何(N)日後がNDATEかを求める.    
                                                                       
  DATEG2(N,IY,ITD,NY,NTD)       IY,ITDの何(N)                          
                                日後がNY,NTDかを求める.               
                                                                       
  DATEG3(N,IY,IM,ID,NY,NM,ND)   IY,IM,IDの何(N)                        
                                日後がNY,NM,NDかを求める.             
                                                                       
  DATEQ1(IDATE)                 今日の1型の日付を求める.              
                                                                       
  DATEQ2(IY,ITD)                今日の2型の日付を求める.              
                                                                       
  DATEQ3(IY,IM,ID)              今日の3型の日付を求める.              
                                                                       
  DATEC1(CFORM,IDATE)           IDATEをCFORMに従って表現してCFORMで返  
                                す.                                   
                                                                       
  DATEC2(CFORM,IY,ITD)          IY,                                    
                                ITDをCFORMに従って表現してCFORMで返す  
                                .                                     
                                                                       
  DATEC3(CFORM,IY,IM,ID)        IY,IM,                                 
                                IDをCFORMに従って表現してCFORMで返す   
                                .                                     
                                                                       

CFORM中で使えるキーとなる文字は, 'Y' : 年,'M' : 月,'D' : 日, 'C' : 文字型の月, 'W' : 曜日, である.たとえばIDATE=19920401(この日は水曜日)に対して CFORM='CCC,DD,YY (WWW)' と指定してDATEC1を呼ぶとCFORM='APR, 1,92 (WED)'が返される.

関数のリスト

                                                                       
  NDATE1(IDATE,NDATE)         DATEG1(NDATE1,IDATE,NDATE)と同じ.       
                                                                       
  NDATE2(IY,ITD,NY,NTD)       DATEG2(NDATE2,IY,ITD,NY,NTD)と同じ.     
                                                                       
  NDATE3(IY,IM,ID,NY,NM,ND)   DATEG3(NDATE3,IY,IM,ID,NY,NM,ND)         
                              と同じ.                                 
                                                                       
  IWEEK1(IDATE)               1型の日付IDATEに対応する曜日番号を返す   
                              .                                       
                                                                       
  IWEEK2(IY,ITD)              2型の日付IY,                             
                              ITDに対応する曜日番号を返す.            
                                                                       
  IWEEK3(IY,IM,ID)            3型の日付IY,IM,                          
                              IDに対応する曜日番号を返す.             
                                                                       
  NDMON(IY,IM)                IY年IM月は何日あるかを返す.             
                                                                       
  NDYEAR(IY)                  IY年は何日あるかを返す.                 
                                                                       
  CMON(IM)                    文字型の月名を返す文字型関数.           
                              文字の長さはユーザーが指定すること.     
                                                                       
  CWEEK(IW)                   文字型の曜日を返す文字型関数.           
                              文字の長さはユーザーが指定すること.     
                                                                       

サブルーチンの説明

DATE12/DATE13/DATE21/DATE23/DATE31/DATE32

  1. 機能
    日付の型を変換する.
    DATE12 : 1型の日付を2型の日付に変換する.
    DATE13 : 1型の日付を3型の日付に変換する.
    DATE21 : 2型の日付を1型の日付に変換する.
    DATE23 : 2型の日付を3型の日付に変換する.
    DATE31 : 3型の日付を1型の日付に変換する.
    DATE32 : 3型の日付を2型の日付に変換する.
  2. 呼び出し方法
    CALL DATE12(IDATE,IY,ITD)
    CALL DATE13(IDATE,IY,IM,ID)
    CALL DATE21(IDATE,IY,ITD)
    CALL DATE23(IY,IM,ID,ITD)
    CALL DATE31(IDATE,IY,IM,ID)
    CALL DATE32(IY,IM,ID,ITD)
  3. パラメーターの説明
                                  
      IDATE   (I)   1型の日付.   
                                  
      IY      (I)   年.          
                                  
      IM      (I)   月.          
                                  
      ID      (I)   日.           
                                  
      ITD     (I)   通しの日付.  
                                  
    
  4. 備考
    1. なし.

DATEF1/DATEF2/DATEF3

  1. 機能
    N日後の日付を求める.
    DATEF1 : IDATEN日後(NDATE)を求める.
    DATEF2 : IY,ITDN日後(NY,NTD)を求める.
    DATEF3 : IY,IM,IDN日後(NY,NM,ND)を求める.
  2. 呼び出し方法
    CALL DATEF1(N,IDATE,NDATE)
    CALL DATEF2(N,IY,ITD,NY,NTD)
    CALL DATEF3(N,IY,IM,ID,NY,NM,ND)
  3. パラメーターの説明
                                              
      IDATE,         (I)   1型の日付.        
      NDATE                                   
                                              
      IY, NY         (I)   年.               
                                              
      IM, NM         (I)   月.               
                                              
      ID, ND         (I)   日.                
                                              
      ITD, NTD       (I)   通しの日付.       
                                              
      N              (I)   日付の差(日数).  
                                              
    
  4. 備考
    1. Nとしては負の値を指定してもよい. つまり負のNに対して-N日前の日付も 調べることができる.

DATEG1/DATEG2/DATEG3

  1. 機能
    日付の差を求める.
    DATEG1 : IDATEの何(N)日後がNDATEかを求める.
    DATEG2 : IY,ITDの何(N)日後がNY,NTDかを求める.
    DATEG3 : IY,IM,IDの何(N)日後がNY,NM,NDかを求める.
  2. 呼び出し方法
    CALL DATEG1(N,IDATE,NDATE)
    CALL DATEG2(N,IY,ITD,NY,NTD)
    CALL DATEG3(N,IY,IM,ID,NY,NM,ND)
  3. パラメーターの説明
                                              
      IDATE,         (I)   1型の日付.        
      NDATE                                   
                                              
      IY, NY         (I)   年.               
                                              
      IM, NM         (I)   月.               
                                              
      ID, ND         (I)   日.                
                                              
      ITD, NTD       (I)   通しの日付.       
                                              
      N              (I)   日付の差(日数).  
                                              
    
  4. 備考
    1. 過去にさかのぼって日付の差を求めることもできる. つまり日付の差としてNは負にもなりうる.

DATEQ1/DATEQ2/DATEQ3

  1. 機能
    今日の日付を求める.
    DATEQ1 : 今日の1型の日付を求める.
    DATEQ2 : 今日の2型の日付を求める.
    DATEQ3 : 今日の3型の日付を求める.
  2. 呼び出し方法
    DATEQ1(IDATE)
    DATEQ2(IY,ITD)
    DATEQ3(IY,IM,ID)
  3. パラメーターの説明
                                  
      IDATE   (I)   1型の日付.   
                                  
      IY      (I)   年.          
                                  
      IM      (I)   月.          
                                  
      ID      (I)   日.           
                                  
      ITD     (I)   通しの日付.  
                                  
    
  4. 備考
    1. これらはシステムに依存したサブルーチンなので, 正しく移植されていない可能性もある.

DATEC1/DATEC2/DATEC3

  1. 機能
    フォーマットを指定して日付を文字列で表現する.
    DATEC1 : 1型の日付を文字列で表現する.
    DATEC2 : 2型の日付を文字列で表現する.
    DATEC3 : 3型の日付を文字列で表現する.
  2. 呼び出し方法
    CALL DATEC1(CFORM,IDATE)
    CALL DATEC2(CFORM,IY,ITD)
    CALL DATEC3(CFORM,IY,IM,ID)
  3. パラメーターの説明
                                                                            
      IDATE   (I)       1型の日付.                                         
                                                                            
      IY      (I)       年.                                                
                                                                            
      IM      (I)       月.                                                
                                                                            
      ID      (I)       日.                                                 
                                                                            
      ITD     (I)       通しの日付.                                        
                                                                            
      CFORM   (C*(*))   日付のフォーマット.                                
                        入力パラメータでもあり,出力パラメーターでもある.  
                        CFORM中で使えるキーとなる文字は, 'Y' : 年,'M' :   
                        月,'D' : 日, 'C' : 文字型の月,'W' : 曜日,         
                        である. たとえばIDATE=19920401(この日は水曜日)    
                        に対して CFORM='CCC,DD,YY (WWW)                     
                        ' と指定してDATEC1を呼ぶと *|CFORM='APR, 1,92       
                        (WED)'|が返される.                                 
                                                                            
    
  4. 備考
    1. 日付のフォーマットの指定方法について,正確には, キーとなる文字が最初に現れたところから最後に現れたところの 間の部分をおきかえる.したがって例えば,'CCCCC/YYYY'と 書くのと'CAAAC/YBBYと書くのは同じである.
    2. 文字型の月名は右寄せして出力される.

関数の説明

NDATE1/NDATE2/NDATE3

  1. 機能
    日付の差を求める.
    NDATE1 : IDATEの何日後がNDATEかを求める.
    NDATE2 : IY,ITDの何日後がNY,NTDかを求める.
    NDATE3 : IY,IM,IDの何日後がNY,NM,NDかを求める.
  2. 呼び出し方法
    NDATE1(IDATE,NDATE)
    NDATE2(IY,ITD,NY,NTD)
    NDATE3(IY,IM,ID,NY,NM,ND)
  3. パラメーターの説明
                                                          
      IDATE,         (I)   1型の日付.                    
      NDATE                                               
                                                          
      IY, NY         (I)   年.                           
                                                          
      IM, NM         (I)   月.                           
                                                          
      ID, ND         (I)   日.                            
                                                          
      ITD, NTD       (I)   通しの日付.                   
                                                          
      NDATE1         (I)   1型の日付の差を与える関数値.  
                                                          
      NDATE2         (I)   2型の日付の差を与える関数値.  
                                                          
      NDATE3         (I)   3型の日付の差を与える関数値.  
                                                          
    
  4. 備考
    1. なし

IWEEK1/IWEEK2/IWEEK3

  1. 機能
    曜日番号を求める.
    IWEEK1 : 1型の日付に対応する曜日番号を求める.
    IWEEK2 : 2型の日付に対応する曜日番号を求める.
    IWEEK3 : 3型の日付に対応する曜日番号を求める.
  2. 呼び出し方法
    IWEEK1(IDATE)
    IWEEK2(IY,ITD)
    IWEEK3(IY,IM,ID)
  3. パラメーターの説明
                                                                  
      IDATE    (I)   1型の日付.                                  
                                                                  
      IY       (I)   年.                                         
                                                                  
      IM       (I)   月.                                         
                                                                  
      ID       (I)   日.                                          
                                                                  
      ITD      (I)   通しの日付.                                 
                                                                  
      IWEEK1   (I)   1型の日付に対応する曜日番号を与える関数値.  
                                                                  
      IWEEK2   (I)   2型の日付に対応する曜日番号を与える関数値.  
                                                                  
      IWEEK3   (I)   3型の日付に対応する曜日番号を与える関数値.  
                                                                  
    
  4. 備考
    1. なし

NDMON/NDYEAR

  1. 機能
    NDMON : IYIM月は何日あるかを返す.
    NDYEAR : IY年は何日あるかを返す.
  2. 呼び出し方法
    NDMON(IY,IM)
    NDYEAR(IY)
  3. パラメーターの説明
                                                       
      IY       (I)   年.                              
                                                       
      IM       (I)   月.                              
                                                       
      NDMON    (I)   指定した月の日数を与える関数値.  
                                                       
      NDYEAR   (I)   指定した年の日数を与える関数値.  
                                                       
    
  4. 備考
    1. なし.

CMON

  1. 機能
    文字型の月名を返す文字型関数.
  2. 呼び出し方法
    CMON(IM)
  3. パラメーターの説明
                                                                            
      IM     (I)       月.                                                 
                                                                            
      CMON   (C*(*))   文字型の月名を返す文字型関数値.                     
                       文字の長さはユーザーが指定すること.                 
                                                                            
    
  4. 備考
    1. 文字型の月名とは,JANUARY, FEBRUARY... のことである.先頭からLEN(CMON)の長さの分だけ返される.

CWEEK

  1. 機能
    文字型の曜日を返す文字型関数.
  2. 呼び出し方法
    CWEEK(IW)
  3. パラメーターの説明
                                                                            
      IW      (I)       曜日番号.                                          
                                                                            
      CWEEK   (C*(*))   文字型の曜日を返す文字型関数値.                    
                        文字の長さはユーザーが指定すること.                
                                                                            
    
  4. 備考
    1. 文字型の曜日とは,SUNDAY, MONDAY... のことである.先頭からLEN(CWEEK)の長さの分だけ返される.


Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:03:32 EDT 1995