2012-04-02 7 views
2

日時を特定の方法で設定ファイルに書き込むvbscriptを作成しようとしています。私はウェブを研究していて、秒の関数を正しくフォーマットする方法を見つけることができませんでした。それが可能かどうかは確かではありません。どんな助けやリファレンスも大歓迎です。私の質問は、月と秒関数を書式設定する方法があるので、1桁の月と秒が小数点以下3桁を表示する場合、月はMMとして表示されますか?VBScriptの月と秒の小数点以下3桁への変換

これまで私が試したことはありますが、無効です。

myDate = (Year(Now) & "-" & Month(date) & "-" & day(date) & "T" & Hour(Time) & ":" & Minute(time) & ":" & Second(time) ' Displays as YYYY-MM-DDTHH:MM:SS 

second = FormatNumber(Second, 3) 

write.write(myDate) 

YYYY-MM-DDTHH:MM:SS.SSSと表示する必要があります。前もって感謝します。

答えて

1

余分なゼロの持つパッドにパッドの機能を使用してください。タイマーを使用してミリ秒をキャプチャします。

Option Explicit 
Dim timerNow, myNow, myDate 

timerNow = cStr(cdbl(timer)) 
myNow = now() 

myDate = (Year(myNow) & "-" & _ 
    zeropad(Month(myNow),2) & "-" & _ 
    zeroPad(day(myNow),2) & "T" & _ 
    zeroPad(Hour(myNow),2) & ":" & _ 
    zeroPad(Minute(myNow),2) & ":" & _ 
    zeroPad(Second(myNow),2) & "." & _ 
    left(split(timerNow, ".")(1),3)) ' Displays as YYYY-MM-DDTHH:MM:SS.SSS 


Private Function zeroPad(byval strInput, byval padCount) 
    If len(strInput) < padCount Then 
     zeroPad = string(padCount - len(strInput), "0") & strInput 
    Else 
     zeroPad = strInput 
    End If 
End Function 

ことの一つはここに間違って行くことができます:myNowtimerNowを取得するときに時間がちょうどn.999からのn + 1.000にジャンプしたとき。理想的には、timerNowからmyNowを抽出しますが、それは読者のための運動として残されています。

2

Now() Accuracy in VBScript

VBScriptで「今()」関数は精度のこのタイプを提供するために、doubleに変換することができそうです。

1
CStr(Year(Date())) & "-" & Right("0" & CStr(Month(Date())), 2) & "-" & Right("0" & CStr(Day(Date())), 2) 

このコードは、YYYY-MM-DDに

を作成します。私はあなたのアイデアを得ると、時間コンポーネントを追加することができるようになると思う自分

関連する問題