Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用+;万元_C# - Fatal编程技术网

C# 使用+;万元

C# 使用+;万元,c#,C#,我正在尝试将日期格式从欧洲更改为美国(yyyy-MM-dd HH:MM:ss),到目前为止,我知道这应该可以: var dateString = array[4]; var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture); var newDateString = date.ToString("

我正在尝试将日期格式从欧洲更改为美国(yyyy-MM-dd HH:MM:ss),到目前为止,我知道这应该可以:

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
输入:
14/Dec/2014:15:25:34

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
但是,如果我查看新文件,输出的格式如下:

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
14/12/2014  15:25:34
编辑::错误来自我的代码中的这一行:

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
 writer.WriteLine(string.Join(",", array.Where(s => !string.IsNullOrEmpty(s))))

更改为“string.Join”(“,”)时,格式正确。

使用
zzz
作为UTC偏移量格式说明符

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
var dateString = "24/Oct/2014:13:52:12 +0100";
var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss zzz", CultureInfo.InvariantCulture);
var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");
但是,对于时区敏感信息,您可能应该使用
DateTimeOffset
,它为您提供了对不同时区的更多控制

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
如果您必须处理多种格式,但仍然希望使用精确解析,请使用接受格式数组(以及前面提到的DateTimeOffset)的重载:

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;

您必须将格式字符串更改为

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
"dd/MMM/yyyy:HH:mm:ss K"
用于使用UTC格式

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
有关更多信息,请查看。 你可以用

          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;
"dd/MMM/yyyy:HH:mm:ss zzz"

同样。

如果我将代码更改为该格式,它会抛出一个错误,基本上说,该格式不是dateString所包含的格式。在调试器上,它实际以以下格式显示日期/时间:“14/Dec/2014:15:25:34”.但当传递到newDateString时,它仍然给出了问题中所示的格式。有什么想法吗?我格式化newDateString的代码中有错误吗?请具体说明…字符串是否包含UTC偏移量?
“14/Dec/2014:15:25:34”
不适用于
zzz
“2014年10月24日:13:52:12+0100"
有。当查看调试器时,我注意到由于某种原因,“+0100”没有存储在dateString中,但是我仍然有一种轻微的感觉,它正在停止正确的格式设置,因为我已经用我的代码编辑了问题,看不出它为什么或在哪里不正确?调试器使用您的本地区域性首选项。您知道它实际上工作正常,14不是一个有效的月份。您没有真正的问题。@HansPassant它工作不正常。。工作正常会给我一个日期格式为“yyyy-MM-dd HH:MM:ss”的输出?还是我缺少了什么?。您的代码工作正常。请调试它并在
newDateStr中运行ing
你会得到
2014-12-14 15:25:34
。所以问题一定是,如果我理解你在做什么,当你在一个新文件中写这篇文章的时候,一定是这样,我最近才注意到这个错误,我99%确定它以前正确地输入了我的.csv文件,这就是为什么我不知道它没有格式化的原因correctly@johnfish92这是一辆汽车吗难道不可能由于某种巧合,您在今年冬天开发了应用程序,生活在冬季UTC+00时区,并且错误在夏季来临时开始出现吗?
          var dateString = array[4];
            var date = DateTime.ParseExact(dateString, "dd/MMM/yyyy:HH:mm:ss", CultureInfo.InvariantCulture);
            var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss");

            //inserting the new date and time into the array
            array[4] = newDateString;