【问题标题】:C# Convert string YYYYDDD to a normal date formatC# 将字符串 YYYYDDD 转换为正常的日期格式
【发布时间】:2015-08-15 20:49:51
【问题描述】:

给你一个快速的问题。我正在尝试遍历文件目录并将它们重命名为不是 Julian 的日期格式。所有文件都是 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.yyyy-mm-dd,以便更好地组织和排序。 [1]:msdn.microsoft.com/en-us/library/…

标签: c# .net visual-studio datetime


【解决方案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));
    }
}

【讨论】:

  • 这非常有效!万分感谢!帮了我大忙!
猜你喜欢
  • 2015-07-13
  • 1970-01-01
  • 2013-12-28
  • 2016-10-09
  • 1970-01-01
  • 2014-01-18
  • 2019-10-13
相关资源
最近更新 更多