显示德国日名称和正确的周数 Angular

Show the german dayname & right week number Angular

我用 dxScheduler 构建了一个调度程序。想要在 dx-scheduler-header-row 中以德语显示当天的名称。

我已经在德国本地化了我的申请。

到目前为止我有:

<div *dxTemplate="let data of 'dateCellTemplate' let dataIndex = index">
        <div [ngClass]="getClassName(data)">
             <span>{{[data.date | date :'EEEE dd.MM [w]'}}</span>
         </div>
</div>

这显示了我

星期一 22.04 [17] ;星期二 23.04 [17]

等等。

我想要那里

蒙塔格 22.04 [17] ; Dienstag 23.04 [17]

编辑:

通过解决方案,我刚刚解决了 Monday => Montag 问题。 但是对于周数,它不起作用!

格式:日期 [周数]

Mo 29.04 [18] ... Sa 04.05 [18] 所以 05.05 [19] <- ????

为什么这里的周数是 19?应该是 18。

感谢@briosheje,我找到了正确的待办事项:

myComponent.component.html我改了:

<div *dxTemplate="let data of 'dateCellTemplate' let dataIndex = index">
        <div [ngClass]="getClassName(data)">
             <span>{{[data.date | date :'EEEE dd.MM [w]'}}</span>
         </div>
</div>

<div *dxTemplate="let data of 'dateCellTemplate' let dataIndex = index">
    <div [ngClass]="getClassName(data)">
        <span>{{[ data.date | date : '.MM' ]}}</span><br>
        <span>{{[ data.date | wochenNummer ]}}</span>
    </div>            
</div>

其中 "wochenNummer" 是我的 Pipe 的名称。

创建管道

ng generate pipe WochenNummer

这将创建 2 个文件

wochen-nummer.pipe.spec.ts wochen-nummer.pipe.ts

wochen-nummer.pipe.ts 我有:

 export class WochenNummerPipe implements PipeTransform {

  transform(value: Date): string {
    // Copy date so don't modify original
    value = new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate()));
    // Set to nearest Thursday: current date + 4 - current day number
    // Make Sunday's day number 7
    value.setUTCDate(value.getUTCDate() + 4 - (value.getUTCDay() || 7));
    // Get first day of year
    const yearStart = new Date(Date.UTC( value.getUTCFullYear(), 0, 1));
    // Calculate full weeks to nearest Thursday
    const weekNo = Math.ceil(( ( (+value - +yearStart) / 86400000) + 1) / 7);
    // Return array of year and week number
    const returner = '[' + weekNo + ']';
    return returner;
  }

}

这里是我的周数计算。 @briosheje postet link 以上

为了让事情正常进行,我必须在 myComponent.module.ts

中包含管道
@NgModule({
  imports: [
    ...
  ],
  providers: [WochenNummerPipe],
  declarations: [
    ...  ,
    WochenNummerPipe
  ]
})

总而言之,我得到了这个:picture of my header cell template with right week number and german daynames

我很开心:)