2012-04-02 3 views
2

날짜 및 시간을 특정 방식으로 구성 파일에 기록하는 VBScript를 작성하려고합니다. 웹을 조사 중이며 초 기능을 올바르게 포맷하는 방법을 찾을 수 없었습니다. 가능하면 확실하지 않습니다. 어떤 도움이나 참고 사항이라도 대단히 감사하겠습니다. 내 질문은, 달과 초 함수를 포맷 할 수있는 방법은 단일 월과 초가 소수점 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 

것은 잘못 여기 수 : 시간이 단지 n으로 + 1.000 때 myNowtimerNow이 검색됩니다 n.999에서 점프됩니다. Idealiter는 timer에서 myNow를 추출합니다.하지만 이제는 독자의 운동으로 남습니다.

2

Now() Accuracy in VBScript

그것은 "지금()"기능은 정밀 이런 종류의를 제공하기 위해 두 배로 변환 할 수 있습니다 VBScript로 보인다.

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

이 코드는 YYYY-MM-DD

를 만듭니다 난 당신이 생각을하고 시간 구성 요소를 추가 할 수있을 것이라고 생각 자신

관련 문제