将字符串转为时间我的时间是16:23:01。我尝试使用DateTime.ParseExact,但它不起作用。这是我的代码:stringTime="16:23:01";DateTimedate=DateTime.ParseExact(Time,"hh:mm:sstt",System.Globalization.CultureInfo.CurrentCulture);lblClock.Text=日期。字符串();我希望它在标签上显示为04:23:01PM。“16:23:01”与“hh:mm:sstt”的模式不匹配——它没有上午/下午指示器,显然16不是12小时制。您在解析部分指定了该格式,因此您需要匹配现有数据的格式。你这样做:DateTimedateTime=DateTime.ParseExact(time,"HH:mm:ss",CultureInfo.InvariantCulture);(注意不变的文化,而不是当前的文化——假设你的输入真的总是使用冒号。)如果你想把它格式化为hh:mm:sstt,你需要把那部分放在ToString调用中:lblClock.Text=date.ToString("hh:mm:sstt",CultureInfo.CurrentCulture);或更好(IMO)使用“任何文化的长期模式”:lblClock.Text=date.ToString("T",CultureInfo.CurrentCulture);还要注意hh是不寻常的;通常你不希望0-leftpadding少于10个数字。(也可以考虑使用我的NodaTimeAPI,它具有LocalTime类型-仅适用于“一天中的时间”。)串时间="16:23:01";DateTimedate=DateTime.Parse(Time,System.Globalization.CultureInfo.CurrentCulture);stringt=date.ToString("HH:mm:sstt");这是为您提供所需的结果:stringtime="16:23:01";varresult=Convert.ToDateTime(时间);字符串测试=result.ToString("hh:mm:sstt",CultureInfo.CurrentCulture);//Thisgivesyou"04:23:01PM"string您还可以使用CultureInfo.CreateSpecificCulture("en-US"),因为并非所有区域性都会显示AM/PM。以上就是《C#学习教程:字符串转分时》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
