如何将日期字符串转换为 UTC 格式
How to convert date string to UTC format
我有一个以日期命名的 .csv 文件文件夹。它们看起来像这样:
20200625210308.csv --> (yyyyMMddHHmmss)
我正在尝试按日期比较这些文件,这样我就可以删除除最新文件之外的所有文件。
假设我已经处理了所有拆分等;如何将 20200625210308
转换为 UTC 日期以便比较文件?
这是一个简单的控制台应用程序,可为您提供 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();
}
}
}
您不需要将它们转换为 DateTime
值:您的 date/time 字符串 20200625210308.csv
的基本名称是 ISO 8601 紧凑型:YYYYMMDDhhmmss
。 ISO 8601 date/time 值是 设计的 以正确整理和比较。
一个简单的字符串比较就足够了。
给定 string[]
个文件名 filenames
,您只需说
var mostRecentFileName = filenames.Max();
无需过度设计解决方案。
我有一个以日期命名的 .csv 文件文件夹。它们看起来像这样:
20200625210308.csv --> (yyyyMMddHHmmss)
我正在尝试按日期比较这些文件,这样我就可以删除除最新文件之外的所有文件。
假设我已经处理了所有拆分等;如何将 20200625210308
转换为 UTC 日期以便比较文件?
这是一个简单的控制台应用程序,可为您提供 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();
}
}
}
您不需要将它们转换为 DateTime
值:您的 date/time 字符串 20200625210308.csv
的基本名称是 ISO 8601 紧凑型:YYYYMMDDhhmmss
。 ISO 8601 date/time 值是 设计的 以正确整理和比较。
一个简单的字符串比较就足够了。
给定 string[]
个文件名 filenames
,您只需说
var mostRecentFileName = filenames.Max();
无需过度设计解决方案。