你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

startofweek()

适用于:✅Azure 数据资源管理器Azure Monitor✅ Sentinel

返回包含日期的一周的起点,根据偏移量移动(如提供)。

一周的起点被视为周日。

语法

startofweek( date [,offset ])

详细了解语法约定

参数

客户 类型​​ 必需 描述
日期 datetime ✔️ 要查找其所对应周的开始时间的日期。
抵消 int 从输入日期偏移的周数。 默认值为 0。

返回

一个日期/时间,表示给定 date 值的那一周的开始(如果指定了偏移量,则还包含该信息)。

例子

range offset from -1 to 1 step 1
| project weekStart = startofweek(datetime(2017-01-01 10:10:17), offset) 

输出

weekStart
2016-12-25 00:00:00.0000000
2017-01-01 00:00:00.0000000
2017-01-08 00:00:00.0000000

以下示例返回指定日期的星期一作为星期一的开始时间。

let startofweekFromMonday = (dateArg: datetime) {
    datetime_add('day', 1, startofweek(datetime_add('day', -1, dateArg)))
};
let data=datatable(Date: datetime, day: string)
[
datetime(2025, 6, 14), "Saturday",
datetime(2025, 6, 15), "Sunday",
datetime(2025, 6, 16), "Monday",
datetime(2025, 6, 17), "Tuesday"
];
data 
| extend MondayWeek=startofweekFromMonday(Date)

输出

日期 MondayWeek
2025-06-14 00:00:00.0000000 星期六 2025-06-09 00:00:00.0000000
2025-06-15 00:00:00.0000000 星期日 2025-06-09 00:00:00.0000000
2025-06-16 00:00:00.0000000 星期一 2025-06-16 00:00:00.0000000
2025-06-17 00:00:00.0000000 星期二 2025-06-16 00:00:00.0000000