Convert server time zone to local time zone in Crystal Reports
我有一个时间字段(LaborHed.ClockInTime),在Epicor服务器(我正在使用的ERP)与当地时间有1小时的差异。 我当地的时区是UTC(都柏林,爱丁堡,里斯本,伦敦)。 我不知道如何将Epicor服务器时区转换为我的本地时区。
我试过这段代码(但是没用)
ShiftDateTime (cdate({BAQReportResult.LaborHed.ClockInTime}),"UTC,0",
"")
我做错了什么?
请参阅Crystal Reports联机帮助中对ShiftDateTime的引用
1 | ShiftDateTime (inputDateTime, inputTimeZone, newTimeZone) |
Epicor server (the ERP I'm using) has 1 hour difference from my local time. My local time zone is UTC (Dublin, Edinburgh, Lisbon, London).
What I'm doing wrong?
您需要输入服务器时区。
看起来好像
how to convert the Epicor server time zone to my local time zone.
由于您当地的时间是UTC / London,我假设服务器时间是UTC + 1。 inputTimeZone和newTimeZone的Crystal Reports语法是"std,offset"。
- std =标准时区的字符串名称。
- offset =标准时区的偏移量(以分钟为单位)(向西为正)。
试试这个:
1 | ShiftDateTime (cdate({BAQReportResult.LaborHed.ClockInTime}),"UTC,-60","") |
或者像这样明确地写出本地时区:
1 | ShiftDateTime (cdate({BAQReportResult.LaborHed.ClockInTime}),"UTC,-60","UTC,0") |
如果是打印字段,请增加公式中的小时。 否则,这将使用当前用户时区:
1 | ShiftDateTime ( CurrentDateTime, PrintTimeZone, CurrentCEUserTimeZone) |
要强制执行时区,例如英国夏令时,请使用以下内容:
1 | ShiftDateTime (cdate({BAQReportResult.LaborHed.ClockInTime}),"UTC,0, BST","") |