Pernyataan Bersyarat Vbscript ASP Klasik untuk Waktu() tidak memberikan hasil yang benar

Saya sedang mengerjakan pernyataan Kondisional sederhana dalam vbscript untuk memeriksa apakah suatu waktu lebih awal dari waktu lainnya. dan itu tidak berfungsi atau tidak masuk akal. hanya menggunakan tanggal sepertinya berhasil tetapi saya perlu menggunakan waktu... yang tidak berhasil.

dim startDateStartTime, CurrentDateCurrentTime

                startDateStartTime = FormatDateTime("12:00:00 PM")
                    response.Write("The Course Starts at: ["&startDateStartTime&"]<br/>")

                CurrentDateCurrentTime = FormatDateTime("5:00:00 AM")
                    response.Write("The Current Time is: ["&CurrentDateCurrentTime&"]<br/>")


                if CurrentDateCurrentTime < startDateStartTime then

                    response.Write("The current time is less then the course start time. Keep Course open")

                else

                    response.Write("The current time is greater then the course start time. Close Course")

                end if

output dari pernyataan ini adalah:

Kursus Dimulai pada: [12:00:00]

Waktu Saat Ini adalah: [5:00:00]

Waktu saat ini lebih besar dari waktu mulai kursus. Tutup Kursus

yang jelas salah karena jam 5 pagi kurang dari jam 12 siang. saya tidak mengerti?


person NeoSketo    schedule 04.05.2015    source sumber


Jawaban (2)


FormatDateTime() mengembalikan string:

>> WScript.Echo TypeName(FormatDateTime("12:00:00 PM"))
>>
String

Jadi milikmu

if CurrentDateCurrentTime < startDateStartTime then

membandingkan string yang dimulai dengan "5" dengan string yang dimulai dengan "1". Anda perlu membandingkan (variabel subtipe) Tanggal.

person Ekkehard.Horner    schedule 04.05.2015

Untuk membandingkan tanggal/waktu Anda harus menggunakan fungsi DateDiff

DateDiff(interval, date1, date2, [firstdayofweek], [firstweekofyear])
person Zam    schedule 04.05.2015