动态NAV:根据区域设置在文本字段中显示日期

时间:2015-06-29 13:40:26

标签: date textfield nav microsoft-dynamics regional-settings

我有一个显示日期值的文本字段 - 这需要是一个文本字段,因为如果日期值= 0D,它还需要显示值'Undetermined'。

我想根据我的区域设置在此文本字段中显示日期。

例如,如果区域设置中的短日期值设置为d / M / yyyy,我希望文本字段显示为2015年1月1日,而不是01/01/2015。

有谁知道这是否可行以及如何:)?

2 个答案:

答案 0 :(得分:0)

一种方法是使用delChr Function (Code, Text) 并删除TEXT上的“0”

答案 1 :(得分:0)

我用DotNet变量想出来了。 您需要声明3个DotNet变量并为每个变量分配正确的子类型,加上变量,键入“Record”,子类型为“Language”。您可以在下面看到您需要分配的每个DotNet变量。

名称: CultureInfo DataType: DotNet 子类型: System.Globalization.CultureInfo.'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'

名称: DateTimeFormatInfo DataType: DotNet 子类型: System.Globalization.DateTimeFormatInfo.'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'

名称: DateTime1 DataType: DotNet 子类型: System.DateTime.'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'

Date2Text(Date : Date) : Text
CultureInfo           := CultureInfo.GetCultureInfo(Lng.GetLanguageID(Lng.GetUserLanguage));
DateTimeFormatInfo    := CultureInfo.CurrentCulture.DateTimeFormat;
DateTime1             := DateTime1.DateTime(DATE2DMY(Date,3), DATE2DMY(Date,2), DATE2DMY(Date,1));

EXIT(DateTime1.ToString('d', DateTimeFormatInfo));