2009/02/28

VBScriptで日付処理 そにょ2・・・


更に手抜きで使えるように・・・
って、曜日表示機能付きの別スクリプトを縮小したもの。

    '------------------------------------     
'iDT - 日時文字列 ないし 日/時配列取得 for VBScript
'- Created by LazwardFox -

'LastUpdate 20090228 0514

Public Function iDT(dSplitter,dtSeparater,tSplitter,Control)
Dim nX, nD, nS, strHMS, sResult
If TypeName(dSplitter) = "Error" Then
dSplitter = "/"
End If
If TypeName(dtSeparator) = "Empty" Then
dtSeparater = " "
End If
If TypeName(tSplitter) = "Error" Then
tSplitter = ":"
End If
If TypeName(Control) = "Error" Then
Control = 0
End If
nX = Now()
nD = FormatDateTime(Date(),0)
nS = ":" & Split(CStr(FormatDateTime(nX,3)),":")(2)
strHMS = FormatDateTime(nX,4) & nS
If tSplitter = ":" Then
Else
strHMS = Replace(strHMS,":",tSplitter)
End If
If dSplitter = "/" Then
Else
nD = Replace(nD,"/",dSplitter)
End If
sResult = nD & "*" & strHMS
If Control = 0 Then
iDT = Replace(sResult,"*",dtSeparater)
Else
iDT = Split(sResult,"*")
End If
End Function


書式)
   iDT ({dSplitter}, {dtSeparater}, {tSplitter}, Control)    

{dSplitter} - DateSplitString (Default - "/")
{dtSeparater} - Date/Time SepaleteString (Default - " ")
{tSplitter} - TimeSplitString (Default - ":")
Control - String or Array (0 or 1) (Default - 0 )


スクリプト中に On Error Resume Next を宣言してあれば、全パラメータ省略可

   実行a) test = iDT()    


そうでない場合、カンマとControl指定 必須

   実行a) test = iDT(,,,0)    
結果a) test = yyyy/mm/dd HH:nn:ss


   実行b)   test = iDT(,,,1)       
等価) test = iDT("/",,":",1)

結果b) test(0) = yyyy/mm/dd
test(1) = HH:nn:ss

   実行c)   test = iDT("",,"",1)    
結果c) test(0) = yyyymmdd
test(1) = HHnnss

   実行d)   test = iDT("",,"",0)    
結果d) test = yyyymmdd HHnnss

   実行e)   test = iDT("","","",0)    
結果e) test = yyyymmddHHnnss

オマケw
   実行f)   test = iDT("*",,"*",1)    
結果f) test(0) = yyyy
test(1) = mm
test(2) = dd
test(3) = HH
test(4) = nn
test(5) = ss


結果の内容自体は、いずれも文字列参考までに・・・

0 件のコメント:

コメントを投稿