使用C#/ .NET我试图转换日期时间格式。
我以这种格式收到03/10/2017
(MM / dd / yyyy)dateTime。我想将其转换为yyyy-MM-dd hh:mm:ss
格式。
string fromdate = from.ToString("yyyy-MM-dd HH:mm:ss");
string format1 = "yyyy-MM-dd HH:mm:ss";
var dateTime = DateTime.ParseExact(fromdate, format1, new CultureInfo("sv-se"), DateTimeStyles.AssumeLocal);
这就是我尝试过的。 fromdate
是我想要的格式,但是当我尝试将string
转换为dateTime
格式时,它会返回与我尝试运行的格式相同的格式(MM / DD / YYY) 。
答案 0 :(得分:1)
...但是当我尝试将字符串转换为dateTime格式时,它会返回我尝试运行的相同格式(MM / DD / YYY)。
参考
string fromdate = from.ToString("yyyy-MM-dd HH:mm:ss");
我的假设是:
from
实际上是string
个实例,您试图将其视为DateTime
,并使用DateTime
的格式字符串(然后期待它要格式化)。将格式字符串传递给string
实例时,格式将被忽略,原始的string
将被返回,这就是您没有看到任何更改的原因。您实际上在实际代码中使用了string.Format
(请注意,如果不是这种情况,您会在fromdate.ToString
或{{1}时遇到编译错误是一个fromdate
实例,你的代码可以工作,你不会问这个问题)
DateTime
要先使用var fromdate = "03/10/2017";
var fromdateStr = string.Format("{0:yyyy-MM-dd HH:mm:ss}", fromdate);
Console.WriteLine(fromdateStr); // output "03/10/2017"
或from
将此DateTime
转换为Parse
。理想情况下,这部分代码甚至不允许ParseExact
成为字符串,它应该是from
实例。在查看堆栈时,规则应该是这个。
更好的是让绑定控件为你处理这个,但这完全取决于你的表示层。
答案 1 :(得分:0)
您尚未在代码中指定“from”。所以我只是假设这是一个随机对象,其中有一个日期。在这种情况下,您可以执行以下操作
var from = DateTime.Now; //We don't know what this is so let's set it as var
DateTime dteFrom = Convert.ToDateTime(from); //Let's convert this to an actual date so we can convert it to a formatted string
string fromdate = String.Format("{0:yyyy-MM-dd HH:mm:ss}", dteFrom);
注意:我没有测试过这段代码,因此它可能不是最“理想”的方式,也可能无法正常工作,但它应该能为您提供一个很好的指示。
答案 2 :(得分:0)
string stringDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");