Kronos Workforce Central 期望什么日期格式?

What date format does Kronos Workforce Central expect?

我有一个 XML 请求,它向 Kronos Workforce Central API 询问员工在指定时间段内的总工资期。

我正在使用 PeriodDateSpan = '2017/10/23 - 2017/10/30' 指定支付周期,确保遵循典型的 yyyy/mm/dd 日期格式

<Kronos_WFC version='1.0'>
    <Request Action='Load'>
        <Timesheet>
            <Employee>
                <PersonIdentity PersonNumber = '12345'/>
             </Employee>
             <Period>
                 <TimeFramePeriod PeriodDateSpan = '2017/10/23 - 2017/10/30'/>
             </Period>
         </Timesheet>
     </Request>
</Kronos_WFC>

当我将此请求发送到我的 WFC 接入点 wfc/XmlService 时,服务器响应一个错误,指出我 DatePeriodSpan 的值无效。

<Kronos_WFC version="1.0" WFCVersion="6.3.13.362" TimeStamp="10/31/2017 11:08AM GMT-04:00">
   <Response Status="Failure" Action="Load">
      <Error Message="WFP-00950 The value is not valid for the property - Name: PeriodDateSpan, Value: 2017/10/20 - 2017/10/27." ErrorCode="1102" AtIndex="0" PropertyName="PeriodDateSpan" PropertyValue="2017/10/20 - 2017/10/27"/>
   </Response></Kronos_WFC>

Kronos 在指定 PeriodDateSpan 时期望什么日期格式?

默认情况下,Kronos Workforce Central 配置为将长日期格式化为 M/dd/yyyy

  • M: 月数,无前导零
  • dd:天数,前导零
  • yyyy: 年号,4位

例如,2018 年 6 月 8 日将被格式化为 6/08/2018。问题中指定的时间跨度将被格式化为 <TimeFramePeriod PeriodDateSpan = '10/23/2017 - 10/30/2017'/>

根据服务器管理员的配置(设置 -> 系统配置 -> 系统设置 -> 区域设置),日期格式可能因服务器而异。

假设日期格式没有从默认值更改,下面是更正后的 XML 员工工资期总计

请求
<Kronos_WFC version='1.0'>
    <Request Action='Load'>
        <Timesheet>
            <Employee>
                <PersonIdentity PersonNumber = '12345'/>
             </Employee>
             <Period>
                 <TimeFramePeriod PeriodDateSpan = '10/23/2017 - 10/30/2017'/>
             </Period>
         </Timesheet>
     </Request>
</Kronos_WFC>

提示:如果您需要确定服务器的当前日期,您可以发送一个GetServerTime 请求让服务器响应它的日期和时间。此 DateTime 可重复用于需要 ChangeDateEffectiveDate.

的请求

要求:

<Kronos_WFC version="1.0">
    <Request Object="ServerTime" Action="GetServerTime" />
</Kronos_WFC>

回复:

<Kronos_WFC version="1.0" WFCVersion="6.3.13.362" TimeStamp="10/31/2017 11:08AM GMT-04:00">
    <Response Status="Success" Object="ServerTime" Action="GetServerTime">
        <ServerTime DateTime="10/31/2017 11:08AM" KronosTimeZone="(GMT -05:00) Eastern Time"/>
    </Response>
</Kronos_WFC>

此外,服务器响应中的根 <Kronos_WFC> 标记应始终包含一个 TimeStamp 属性,其中包含服务器上的当前日期和时间。

TimeStamp="10/31/2017 11:08AM GMT-04:00"