一個(gè)GUI程序,程序界面有實(shí)時(shí)日期時(shí)間顯示,通過(guò)雙擊桌面圖標(biāo)運(yùn)行時(shí),時(shí)間顯示正常,是24小時(shí)制
但通過(guò)DOS命令啟動(dòng)時(shí),時(shí)間總是顯示成12小時(shí)格式,如:“2013-11-02 上午 10:12:23”等
不管是設(shè)置控制面板里的區(qū)域與語(yǔ)言選項(xiàng)的自定義時(shí)間格式,還是按照網(wǎng)上說(shuō)的修改HKEY_CURRENT_USER\Control Panel\International下的sTimeFormat的值,都無(wú)法使其顯示24小時(shí)格式。
當(dāng)把區(qū)域-標(biāo)準(zhǔn)和格式選擇成瑞典語(yǔ)時(shí),時(shí)間倒是顯示對(duì)了,是24小時(shí)格式的,但打開(kāi)程序,所有的漢字都變成了“?”
迷茫中,不斷探索,想只要瑞典語(yǔ)能顯示,中國(guó)語(yǔ)也一定能顯示,
搜索注冊(cè)表,發(fā)現(xiàn)在HKEY_USER的[HKEY_USERS\.DEFAULT\Control Panel\International]下也有sTimeFormat鍵
但修改后還是無(wú)效,迷茫很久,查看其中的鍵值都是修改語(yǔ)言格式啥的,想肯定在這里面了,發(fā)現(xiàn)一個(gè)鍵itime=0
試著將其鍵值改為1,即:itime=1;F5刷新,哈哈,ok。
修改后導(dǎo)出的鍵值如下:
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Control Panel\International]
"iCountry"="86"
"iCurrDigits"="0"
"iCurrency"="0"
"iDate"="2"
"iDigits"="2"
"iLZero"="1"
"iMeasure"="0"
"iNegCurr"="1"
"iTime"="1"
"iTLZero"="1"
"Locale"="00000804"
"s1159"="上午"
"s2359"="下午"
"sCountry"="中國(guó)"
"sCurrency"="¥"
"sDate"="-"
"sDecimal"="."
"sLanguage"="CHS"
"sList"=","
"sLongDate"="yyyy'年'MM'月'dd'日'"
"sShortDate"="yyyy-MM-dd"
"sThousand"=","
"sTime"=":"
"sLongDate16"="dddd', 'MMMM' 'dd', 'yyyy"
"iTimePrefix"="1"
"iCentury"="0"
"iDayLZero"="1"
"iMonLZero"="1"
"iChinaYear"="0"
"iCalendar"="1"
"sTimeFormat"="H:mm:ss"
[HKEY_USERS\.DEFAULT\Control Panel\International\Geo]
"Nation"="45"