1. 对于Date类型的方法,通常ax系统有一个对应帮助类DateTimeUtil Class,该类中有需许多系统自定义的方法,常见的如下:
DateTimeUtil::getUserPreferredTimeZone() 用户设置的时区参数
DateTimeUtil::newDateTime(date1,time1) 从这个Date和TimeofDay类型构建一个UTC日期时间类 型
DateTimeUtil::utcNow() 得到当前UTC日期时间
today() 得到当前系统的日期
TimeNow() 得到当前系统的时间,返回的是Secords
DateTimeUtil:date(UTC utc) 获取date
DateTimeUtil:time(UTC utc) 获取时间
DateTimeUtil::applyTimeZoneOffset() 对一个UTC类型的字段进行时区转换
2.由于本地显示的时间与我们系统时间存储在数据库时,会有一个时差区别(8个小时),故界面显示的时间和系统数据库里的时间进行比较时需要去掉时差然后进行比较。这是因为窗口的UTC时间比我们插入的时间晚了8个小时,这是因为form上的utcdatetime控件的“TimeZonePreference”属性设置为 了“Auto”,它会自动使用当前用户的时区(北京时间+8时区)来显示这个UTC标准时间,以下是详细实践。
更多有关时区的内容也可参考 http://msdn.microsoft.com/EN-US/library/cc622312.aspx。
系统的时间显示Form参考:
3.日期格式转化为Str
4.将date类型转换成string类型 : Str2Date(str,int)
Eg: strDate("12/23/2014", 213)
5.计算一段时间差:可以用timeConsumed()或者用 DatetimeUtil:getDifference()
7.Str 2 Date