如何将日期字符串转换为UTC格式

时间:2020-06-26 23:22:18

标签: c# utc

我有一个.csv文件的文件夹,所有文件均按日期命名。他们看起来像这样:

20200625210308.csv->(yyyyMMddHHmmss)

我正在尝试按日期比较这些文件,以便可以删除除最新文件以外的所有文件。

假设我已经处理了所有拆分操作,等等;如何将20200625210308转换为UTC日期,以便可以比较文件?

2 个答案:

答案 0 :(得分:2)

您无需将它们转换为DateTime值:日期/时间字符串20200625210308.csv的基本名称为 ISO 8601紧凑格式 < / em>:YYYYMMDDhhmmss。 ISO 8601日期/时间值是 设计 设计的,目的是为了正确整理和比较。

一个简单的字符串比较就足够了。

假设其中有string[]个文件名filenames

var mostRecentFileName = filenames.Max();

无需过度设计解决方案。

答案 1 :(得分:0)

这是一个简单的控制台应用程序,可为您提供UTC的算法。您必须从UTC结果中找出想要的内容,然后再进行自己的文件日期比较。

using System;
using System.Globalization;

namespace DateTimeFormatTest
{
    class Program
    {
        private static string format = "yyyyMMddHHmmss";
        static void Main(string[] args)
        {

            Console.WriteLine(GiveMeTheDateTimeInUtc("20200625210308"));
            Console.ReadLine();
        }

        private static string GiveMeTheDateTimeInUtc(string filename)
        {
            var dateTime = DateTime.ParseExact(filename, format, CultureInfo.InvariantCulture);
            return dateTime.ToUniversalTime().ToString();
        }
    }
}