2015-08-15 113 views
-3

快速提問。我試圖通過文件目錄進行循環,並將它們重命名爲不是Julian的dateformat。所有的文件都是DailyFile.YYYYddd。我想將它們更改爲DailyFile.mm-dd-yyyy。我似乎無法鍛鍊朱利安日期轉換。任何人都可以提供幫助嗎?謝謝!C#將字符串YYYYDDD轉換爲正常日期格式

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); 
     } 
    } 
} 

}

+0

建議你閱讀更多關於[JulianCalendar] [1]類。我還強烈建議將新格式設置爲DailyFile.yyyy-mm-dd,以便更好地組織和排序。 [1]:https://msdn.microsoft.com/en-us/library/system.globalization.juliancalendar(v=vs.110).aspx –

回答

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)); 
    } 
} 
+0

這工作完美!萬分感謝!幫助我出去大好時光! – user3494110

相關問題