C#学习教程:将字符串转换为特定的日期时间格式本来以为很容易,结果转stackoverflow的时间太长了。我需要将包含日期和时间的字符串转换为DateTime变量。我已将字符串格式化为我希望存储的确切格式,但是当我将其转换为DateTime时,它??会不断添加我不想要的秒数。我希望它存储为01/01/201009:00AM。这是我到目前为止使用的代码:DateTime.ParseExact(startTime,"MM/dd/yyyyhh:mmtt",null);..但它一直在追加秒数。请指教。如果它存储为DateTime数据类型,则存储正确,但您的UI显示错误。无论您如何设置值,DateTime数据类型总是以秒(毫秒等)为单位。问题是如何将它显示回用户。您需要在显示时以正确的字符串格式显示所需的日期,例如Label1.Text=startTime.ToString("MM/dd/yyyyhh:mmtt");编辑-添加以在GridView中对其进行格式化,请参见此处:http://peterkellner.net/2006/05/24/how-to-set-a-date-format-in-gridview-using-aspnet-20using-htmlencode-property/我认为当你说它增加秒数时,你的意思是当你尝试读取它时它也在计算秒数,你想做一些像DateTimeparsedDateTime=DateTime.ParseExact(startTime,"MM/DD/YYYYhh:mmtt",空);stringdateTime=parseDateTime.ToString("MM/DD/YYYhh:mmtt");我认为DateTime类总是以纳秒为单位存储秒、毫秒和纳秒。总是,它会假设你是否填写它,尽管你只需要格式化你从DateTime对象读取的方式,这样它就不会给你你没有填写或使用的DateTime数据。.如果您将其存储在数据库中,请了解数据库还将存储所有这些信息,无论您是否提供这些信息。有几种不同的SQLDateTime类型,如SmallDate等,它们存储不同数量的DateTime数据,不知道是否有一种存储到小时而不是秒,但是使用SQL你也可以格式化你选择数据的方式,或者只是将它作为C#DateTime对象选择到C#中,然后再次表示它时,格式化ToString()以便它不显示你不想要/没有的数据。尝试这个。日期时间dt;如果(DateTime.TryParse(startTime,outdt)){stringnewDateTime=dt.ToString("MM/dd/yyyyhh:mmtt");如果你有一个字符串,你必须首先保证它实际上可以转换为日期时间。首先,去做。一旦你有一个日期时间,将它存储在数据库中,你不需要协调格式,(正如其他人在这里所说的那样)。然后,如有必要,仅在需要在某处显示时才将其重新格式化为不同的演示文稿。strings="2010年6月21日09:23:56";日期时间dt;if(DateTime.TryParse(s,outdt))//dit是有效的日期时间、storeit或其他任何内容throwApplicationException("{0}不是有效的日期时间。",s);//--现在您可以按任何方式重新显示dt-----debug.Print(s.ToString("dMMMyyyy");debug.Print(s.ToString("HH:mm:ss");debug.Print(s.ToString("dddd,dMMMyy");debug.Print(s.ToString("MMMd,yyyy");debug.Print(s.ToString("HH:mm:ssdddd");//等等...这是一个例子。以上就是C#学习教程的全部内容:将字符串转换为特定的DateTime格式。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注—StringstrDate="12/20/2013";stringstrFormat="dd/MM/yyyy";日期时间对象;如果(DateTime.TryParseExact(strDate,strFormat,CultureInfo.InvariantCulture,DateTimeStyles.None,outobjDT)==true){Response.Write("FormattedDateTime:"+objDT.ToString());}else{Response.Write("无法解析日期时间。");}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
