У меня есть это требование: моя программа F # будет выполнять ежедневную работу в 11:00 утра; Я обычно включаю свой компьютер в 8:00 утра, так как я занят, поэтому я всегда забываю вовремя запускать свою программу F #. Итак, я хочу иметь функцию, которая может проверять, сколько секунд с настоящего момента до 11:00 утра, если есть 3 часа, тогда моя программа будет спать 10800 секунд, затем проснется и выполнит работу. Я знаю, что могу использовать планировщик задач Windows для такого рода работы, но таким образом я не увижу вывод из моей программы F #, поэтому я должен сделать это по-своему:
let wakeup() =
let today = DateTime.Today.ToShortDateString()
let beignTime = DateTime.Parse(today + " 11:00:00")
// Don’t know what to do yet!
Для функции wakeup () я хочу вернуть int32 количество секунд, если текущее время предшествует beginTime, если текущее время позже, чем beginTime, просто верните 0.
let seconds2Go = wakeup()
if (seconds2Go > 0) then
Thread.Sleep(seconds2Go * 1000)
else
printfn "Do daily job!"
Но я не знаю, как написать функцию wakeup ().
Пожалуйста, предложите вашу помощь.
Спасибо,
John