C# C将字符串YYYYDDD转换为正常日期格式

C# C将字符串YYYYDDD转换为正常日期格式,c#,.net,visual-studio,datetime,C#,.net,Visual Studio,Datetime,给你一个简短的问题。我试图循环浏览一个文件目录,并将它们重命名为一个不是Julian的dateformat。所有文件都是DailyFile.YYYYddd。我想将它们更改为DailyFile.mm-dd-yyyy。我似乎无法锻炼朱利安日期转换。有人能帮忙吗?谢谢大家! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

给你一个简短的问题。我试图循环浏览一个文件目录,并将它们重命名为一个不是Julian的dateformat。所有文件都是DailyFile.YYYYddd。我想将它们更改为DailyFile.mm-dd-yyyy。我似乎无法锻炼朱利安日期转换。有人能帮忙吗?谢谢大家!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Globalization;

namespace TestingFileRename
{
class Program
{
    static void Main(string[] args)
    {
        string[] dirs = Directory.GetFiles(@"C:\TestDirectory\", "MERSDLY.*");
        JulianCalendar juliCal = new JulianCalendar();
        foreach (string file in dirs)
        {   
            // Convert Julian date to MM-DD-yyyy format here and replace the filetail with it. 

            //file.move(file,filefront + new date string);
        }
    }
}

}

建议您阅读更多关于[JulianCalendar][1]课程的信息。我还强烈建议将新格式设置为DailyFile.yyy-mm-dd,以便更好地组织和排序。[1] :这个很好用!非常感谢!帮了我大忙!
static void Main(string[] args)
{
    var dirs = Directory.GetFiles(@"C:\TestDirectory\", "MERSDLY.*");
    foreach (string file in dirs)
    {
        var parts = file.Split("."); 
        var year = new DateTime(int.Parse(parts[1].Substring(0,4)), 1, 1);
        year = year.AddDays(int.Parse(parts[1].Substring(4)) - 1);
        parts[1] = year.ToString("MM-dd-yyyy");
        File.Move(file,string.Join(".", parts));
    }
}