C# 如何忽略秒ToSortTimeString
我的datetime向我显示了秒数,尽管我已经这样做了C# 如何忽略秒ToSortTimeString,c#,C#,我的datetime向我显示了秒数,尽管我已经这样做了 TimeSlotFrom=Value.ToShortTimeString() 我只能从笔记本电脑上查看它HH:mm。但是,当从客户端的pc读取时,它显示为HH:mm:ss 它是否与我客户电脑中使用的时间格式有关?如何处理此问题以仅显示HH:mm?是关于字符串格式的一个很好的参考。试试看 TimeSlotFrom = Value.ToString("h:mm tt"); 短时间模式:“h:mm tt” 短时间字符串:“3:02 AM” 如果
TimeSlotFrom=Value.ToShortTimeString()代码>
我只能从笔记本电脑上查看它HH:mm
。但是,当从客户端的pc读取时,它显示为HH:mm:ss
它是否与我客户电脑中使用的时间格式有关?如何处理此问题以仅显示HH:mm?是关于字符串格式的一个很好的参考。试试看
TimeSlotFrom = Value.ToString("h:mm tt");
短时间模式:“h:mm tt”
短时间字符串:“3:02 AM”
如果您不希望AM/PM使用Value.ToString(“HH:mm”)
以始终获得相同的格式,只需给出“h:mm”,因为ToSortTimeString使用在PC区域性上定义的格式。来自MSDN:
DateTime.ToShortTimeString
方法
当前日期时间的值
对象使用模式进行格式化
由
DateTimeFormatInfo.ShortTimePattern
与当前数据库关联的属性
线程文化
建议您的应用程序
将短时模式设置为
利息的确切价值,而不是
正在尝试使用时间分隔符
替换。例如,获取
模式h-mm-ss及其应用
应特别设置“h-mm-ss”
或者最简单的方法是用这个来代替
TimeSlotFrom = Value.ToString("HH:mm tt")
由于从ToSortTimeString()
返回的字符串对区域性敏感,因此很可能会出现计算机之间的差异。它反映了当前区域性的DateTimeFormatInfo对象定义的时间模式
如果你想强制一个特定的格式,我建议你更明确一些。例如:
var TimeSlotFrom = DateTime.Now.ToString("hh:mm");
希望这有帮助 客户机中可能更改了ToSortTimeString()使用的标准格式。检查当前格式的设置:
Console.WriteLine("Standard short time output: " + DateTime.Now.ToShortTimeString());
Console.WriteLine("Standard short time format: " + System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern);
您可以将ShortTimePattern的值更改为所需的值(但要小心,因为这会影响当前线程上的所有ToSortTimeString()输出):
如果这不是一个选项,则通过指定上述其他答案中所示的格式(date.ToString(“h:mm tt))来设置时间格式.在此处阅读:简短回答..您的笔记本电脑的区域设置是什么?例如,对于反区域设置,它是HH:mm
ToSortTimeString没有参数。这是一个误导性的答案。HH是24小时格式,tt是AM\PM您可能希望将解决方案更改为“HH:mm”或“h:mm tt”“这是一个误导性的回答。hh是12小时格式小时,缺少AM\PM的tt。您可能希望将解决方案更改为“hh:mm”或“h:mm tt”
Console.WriteLine("Standard short time output: " + DateTime.Now.ToShortTimeString());
Console.WriteLine("Standard short time format: " + System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern);
System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern = "h:mm:ss tt";
Console.WriteLine("Modified short time format: " + System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern);
Console.WriteLine("Modified short time output: " + DateTime.Now.ToShortTimeString());