将时差与固定周期进行比较

本文关键字:比较 周期 时差 | 更新日期: 2023-09-27 17:56:16

我想比较两年的时间差。

        public const long TwoYears = 2 * 365 * 24 * 3600;
        string currTime = DateTime.Now.ToString("yyyyMMddHHmmss");
        string recordTime = fileName.Split('_','-').Last();// format is 'yyyyMMddHHmmss'
        long diff = (long.Parse(currTime)) - (long.Parse(recordTime));
        if (diff < TwoYears)
            Console.WriteLine(fileName);

我做得对吗?

将时差与固定周期进行比较

只需将-2年添加到日期并与任何日期进行比较

if (dateTimeVar > DateTime.Now.AddYears(-2))
{
    // code...
}

如果日期来自字符串,请使用 DateTime.ParseExact 并指定要转换format

否,因为您将日期表示为有序数字。更合适的解决方案是:

String recordTime = fileName.Split('_','-').Last();// format is 'yyyyMMddHHmmss'
DateTime recordDateTime = DateTime.ParseExact( recordTime , "yyyyMMddHHmmss", CultureInfo.InvariantCulture );
if ( recordDateTime.AddYears(2) < DateTime.Now )
{
    Console.WriteLine(fileName);
}

编辑:从下面的评论来看,最好添加年份并比较日期时间。