文化设置,月份与日复原

时间:2014-02-19 20:54:59

标签: c#

我从excel读取值时遇到问题,我的本地时间设置为MM/dd/YYYY,而我想在excel中读取为dd/MM/YYYY。不幸的是,应用程序正在将excel中的值转换为我当地时间,我尝试使用此

Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL");

虽然波兰文化是dd/MM/YYYY,但它没有帮助,我该怎么办?

要阅读excel,我使用这样的interoop:

var application = new Application();
var workbooks = application.Workbooks;
var workbook = workbooks.Open(file);

然后保存为cvs并读取csv以更快地读取它

var tempFile = file.Substring(0, file.Length - 4) + ".csv";

workbook.SaveAs(tempFile, XlFileFormat.xlCSVWindows);

var reader = new StreamReader(File.OpenRead(tempFile));
reader.ReadLine();

while (!reader.EndOfStream)

问题是,在BE语言环境中,我得到了2/25/2013,如果我设置为PL,我得到了25/2/2013,我将永远有第二个值。

1 个答案:

答案 0 :(得分:1)

如果您以MM/dd/yyyy的形式从Excel获取日期字符串,则可以转换为dd/MM/yyyy

您需要使用DateTime.ParseExact()方法从excel解析日期字符串,如下所示:

试试这个:

        String date = "02/21/2014";
        DateTime dt = DateTime.ParseExact(date, "MM/dd/yyyy", CultureInfo.InvariantCulture);
        date=dt.ToString("dd/MM/yyyy");