2013-05-09 79 views
3

我需要使用devexpress DateEdit控件显示日期和时间。这可以通过设置日期编辑控制的掩码来实现。所以,目前我已经从当前线程的UI文化中取得DateTime模式,并将其设置为DevExpress DateEdit控件的EditMask属性。以毫秒为单位的DevExpress控件的DateTime格式EditMask属性

这里的问题是,我需要显示毫秒还给用户。所有现有的文化在DateTime模式中都不会有毫秒。因此,我需要将毫秒字段(“fff”)添加到所选文化的DateTime模式,并将其设置为DateEdit控件的EditMask属性。

我当前的代码块如下所示,

var dateEdit = new DateEdit(); 
dateEdit.Properties.VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True; 
dateEdit.Properties.VistaEditTime = DevExpress.Utils.DefaultBoolean.True; 
CultureInfo currentUiCulture = Thread.CurrentThread.CurrentUICulture; 
string editMask = currentUiCulture.DateTimeFormat.GeneralLongTimePattern; 
dateEdit.Properties.EditMask = editMask; 

下面是一些文化和预期模式的日期时间模式,

Culture  DateTime Pattern   Expected DateTime Pattern 
---------------------------------------------------------------- 
{en-US}  "M/d/yyyy h:mm:ss tt"  "M/d/yyyy h:mm:ss.fff tt"   
{th-TH}  "d/M/yyyy H:mm:ss"  "d/M/yyyy H:mm:ss.fff" 
{sv-SE}  "yyyy-MM-dd HH:mm:ss"  "yyyy-MM-dd HH:mm:ss.fff" 

我怎样才能做到这一点?

回答

3

尝试了这一点:

// Append millisecond pattern to current culture's full date time pattern 
string fullPattern = DateTimeFormatInfo.CurrentInfo.FullDateTimePattern; 
fullPattern = Regex.Replace(fullPattern, "(:ss|:s)", "$1.fff"); 

来源:MSDN

相关问题