gpt4 book ai didi

datetime - F# 如何比较两个日期时间值

转载 作者:行者123 更新时间:2023-12-04 05:09:30 26 4
gpt4 key购买 nike

我一直在研究这个问题,但我找到的答案是针对 C# 的,而不是针对 F# 的。看起来我需要使用 DateTime.Compare,但我希望有一个本地解决方案。

函数(如下)的目的是确定一个文件的访问时间是否 >= 到阈值。阈值是上次访问时间减去天数。

days_old 与文件名 fn 一起传递到函数 isFileStale 中。

我很困惑为什么这个函数总是返回false

let isFileStale fn days_old  =
let rc =
let currentTime = ((System.DateTime.Now).ToLocalTime())
let lastFileUsed = File.GetLastAccessTime(fn)
let timeSpan = new TimeSpan(days_old, 0, 0, 0, 0)
let fileDeleteThreshhold = lastFileUsed.Subtract(timeSpan)

if fileDeleteThreshhold >= lastFileUsed then
true
else
false
rc

最佳答案

我不确定你想做什么,但你总是得到错误,因为 lastFileUsed.Subtract(timeSpan) (这是你的 fileDeleteThreshhold 值)将始终低于 lastFileUsed(或当 days_old = 0 时等于)

也许这就是您正在寻找的:

let isFileStale fn days_old  =
let currentTime = DateTime.Now
let lastFileUsed = File.GetLastAccessTime(fn)
(currentTime - lastFileUsed).Days >= days_old

关于datetime - F# 如何比较两个日期时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com