我在本地电脑 DateTime.Now.ToShortTimeString() 输出11:12
我在美国那边的电脑里DateTime.Now.ToShortTimeString() 输出11:12 PM
为啥 有的自动带上PM AM 有的不会带上呢?是设置问题吗?
我在本地电脑 手动CultureInfo指定到 en-us
输出ToShortTimeString() 还是没有加上PM AM
微软就是这么设计,你可以打开Control Panel(控制面板)里面的区域和语言设置看看,这里面设置的就是长日期、短日期、长时间、短时间应该怎么表示的。如果是短时间H:mm,则一定是24小时方式表达,也就不会出现PM/AM了,你希望出现AM/PM,这是12小时表达方式,请修改为h:mm。
也就是说,你的软件安装到了别人的电脑,可能输出的结果不是你想要的。除非你顺便把
他的电脑设置也修改了。
如果对于输出的字符串有强迫症的话,就只能自己实现日期时间的ToString了。
那为啥我的长段时间输出 都没PM AM 别人电脑就有
@Dellienware:
长时间输出,我也是没有的PM的。长时间设置为H:mm:ss,这样是没有AM/PM的。
别人电脑有是因为他的电脑那么设置的。
我的软件在客户那儿还曾经发生过一件事,客户打来问我软件里面怎么金额没有小数点,
我晕,找了半天,明明有啊,后来客户告诉我说,旁边一台电脑是有小数点的,我才反应过来。
原来客户的这台电脑被人设置为小数点后小数位零位。
再后来才知道,原来电脑公司使用的GHOST版Windows系统都几乎有这个毛病,
不知道那些做GHOST系统的人怎么想的,可能他们都不用一元以下的货币了。
时间和时区 和语言都是有关的
时间是所有基本类型中最难出来的 楼主自己看着办吧
一般,我们输出都会加上格式,比如说ToString("yyyy-MM-dd"),特别在往数据库里面写数据的时候。如果不这样,经常会出错。