Axapta:将utcDateTime转换为日期

Bra*_*rad 2 datetime x++ axapta

将utcDateTime值转换为日期类型的最佳方法是什么,以便我可以使用全局日期时间函数?

int timeDiff;
date _now = systemdateget();
;

select firstOnly myUTCDateTime from _myTable
timeDiff = Global::yearDiff(_now, _myTable.myUTCDateTime);
info(strfmt('%1', timeDiff);
Run Code Online (Sandbox Code Playgroud)

谢谢

Jay*_*ker 5

DateTimeUtil类有一套处理utcdatetime变量的方法.在你的情况下你会使用DateTimeUtil::date.

timeDiff = Global::yearDiff(_now, DateTimeUtil::date(_myTable.myUTCDateTime));
Run Code Online (Sandbox Code Playgroud)


小智 5

utcdatetime 的逻辑:

utcdateTime  testDonedateTime1;
utcdateTime  testDonedateTime;
transdate    tmpDate ;
timeofday    tmpTime;

testDonedateTime1 = inventJournalTable.PostedDateTime;
testDonedateTime  = DateTimeUtil::applyTimeZoneOffset(testDonedateTime1, DateTimeUtil::getUserPreferredTimeZone())
tmpDate = DateTimeUtil::date(testDonedateTime);
tmpTime = DateTimeUtil::time(testDonedateTime);  
Run Code Online (Sandbox Code Playgroud)

重要提示:utcDateTime 控件属性 TimeZonePreference 设置无转换