即将登陆 Salesforce AppExchange

Date Time:Salesforce 日期和时间段选择器

选择多个日期,拖动选择时间段,每个时间块都保存到您自己的 Salesforce 记录中。一个适用于预约、排班和面试的日历时间段选择器,在向导中即可完成设置。

或立即试用在线演示,无需登录 →

时间段网格、按日期设置时间、杜绝重复预订、状态颜色。适用于屏幕 Flow 和 Experience Cloud,无需 Apex。

Salesforce 中 MultiDatePick DateTime 组件的动画演示:为新员工入职日程命名,拖动选中周一到周四,在共享时间网格中拖动选择 09:00 到 12:00,每天保存一个班次
四天,一次拖动选择 09:00 到 12:00,保存四个班次。

Salesforce 有日期字段和时间字段,却没有时间段选择器。

有了 Date Time,“这四天,9 点到 12 点”一次保存就变成四条记录。

您的需求标准 Salesforce使用 Date Time
多个日期,同一日程✗一次只能一条记录✓单击、拖动或添加循环模式
直观地选择时间✗在时间字段里手动输入✓在时间段网格上拖动选择
每天不同的时段✗逐条编辑记录✓每个日期一个网格
杜绝重复预订✗验证规则或 Apex✓已占用的时间段显示为灰色
状态一目了然✗逐条打开记录✓日期和时间段上都有颜色
完成设置✗需要开发人员和自定义 LWC✓点击式设置向导

为什么它比看上去难:在 Salesforce 中打造日历时间段选择器。

日历时间段选择器

上方选日期,下方选时间。单击或拖动选择时间段;每段相邻的时间段保存为一个预订。

MultiDatePick 中的 Salesforce 日历时间段选择器:带 Confirmed、Tentative 和 Pending 状态标签的双月日历,以及 08:00 到 18:00 的 30 分钟时间网格,已选中 10:00 到 11:30,12:00 一个已确认的时间段显示为绿色
30 分钟时间段,08:00 到 18:00。绿色的时间段已被预订。
  • 选择日期
  • 拖动选择时间
  • 设置状态
  • 保存

网格或下拉列表

时间段网格可点击的时间段。拖动即可选中一段时间。Time Display Mode: grid
下拉选择器简洁的开始和结束时间。Time Display Mode: dropdown

共用时间或按日期设置时间

共用一个网格为每个日期设置相同的时段。默认
按日期每个日期都有自己的网格,按周分组。Allow Different Times Per Date

设定一天的范围

  • Time Interval:任意间隔(常见为 15、30 或 60 分钟)
  • Earliest / Latest Time:默认 08:00 到 18:00
  • Enable End Time(启用结束时间):同时采集开始和结束时间

专为真实的预约和排班场景打造

以下每一项都是一个设置,而不是定制开发。

冲突检测已占用的时间段显示为灰色。skip 保存空闲的时间段;allow 关闭检测。Conflict Behavior(冲突行为): block, skip, allow
上午、下午、晚上较长的一天分成三组,方便快速浏览。Group Time Slots by Period
状态颜色Confirmed、Tentative、Cancelled,用您的选项列表,配您的颜色。Status Field(状态字段)+ Status Colors
自动保存休息时间相邻的时间段合并为一个时间跨度;中间的空档保存为子记录。Consolidate Time Span(合并时间跨度)+ sub-blocks
仅时间网格当记录本身就代表某一天时,只显示时间网格。Time Grid Only
全天记录没有选择时间段的日期保存为一整天。Allow Whole-Day (No Times)
循环模式连续八周的每周二和周四,单击两次即可。Show Recurring Pattern Button(显示循环模式)
原地编辑无需离开日历,即可修改已保存的日期、时间或状态,或将其删除。Enable Edit Mode(启用编辑模式)
数量上限限制一个人可选择的日期数或时间段数。Max Dates Allowed(最大选择数), Max Time Slots(最大时间段数)
  • 悬停详情
  • 第二个选项列表
  • 双月视图
  • 屏蔽日期
  • 自动命名记录
  • 组件内提示消息
  • 9 种语言

周视图:看到每个时间,而不只是每个日期

预订色块的高度与时长一致。记录相同,保存方式相同,只是布局不同。

Salesforce 上 MultiDatePick 整个顾问团队的周视图:带名称的客户会议显示为按状态着色的色块,重叠的预订分道并排,周末加阴影,今天突出显示
会议按实际时长显示,非营业时间以斜线标出。
视图(View)适用场景
周面试、预约、办公时间。可同时跨天和跨小时拖动选择。
日历先选日期,再选时间。默认视图。
日程以列表形式显示未来 60 天,包含开始和结束时间。
时间轴日期横向展开,记录纵向排列。多日时间块显示为横条。
使用率容量热力图。与 Booking 搭配使用。

两项设置。View 选择打开时的布局;Available Views(可用视图)设置切换器中的视图,例如 calendar,week,agenda。Earliest Time 和 Latest Time 同样限定周视图网格的范围。

Salesforce 时间段排期工具的使用场景

团队使用 Date Time 的十五种方式,以及让每种方式奏效的设置。

面试安排

不同的日期设不同的时间段,按结果着色。

  • 30 分钟时间段
  • 按日期设置时间
  • 状态颜色

预约

仅限营业时间,不允许重叠。

  • 阻止冲突
  • 08:00 到 17:00
  • 开始和结束

排班

拖动一次,每天生成一条班次记录。

  • 60 分钟时间段
  • 时段分区
  • 结束时间

维护窗口

02:00、03:00、04:00 合并为一个 02:00 到 05:00 的窗口。

  • 合并时间跨度
  • 阻止冲突

送货时间窗

为每个送货日期提供简洁的时间选择器。

  • 下拉列表
  • 按日期设置时间

诊所预约

精细的时间段,已预约的按颜色标出。

  • 15 分钟时间段
  • 加载已有记录
  • 网格上显示状态

回电安排

销售代表预约客户回电,互不冲突。

  • 30 分钟时间段
  • 阻止冲突
  • 自动命名

客户入门培训

单击两次,排好八周的每周课程。

  • 循环模式
  • 自动命名

培训课程

上午和下午两段,午餐时间保存为休息。

  • 按日期设置时间
  • 子块

演示申请

潜在客户在您的站点上选择时间段;已占用的显示为灰色。

  • Experience Cloud
  • 已有记录只读

QBR 安排

季度末密集安排的 90 分钟业务回顾。

  • 双月视图
  • 状态颜色

房源看房

空闲、已预约和保留的看房时间段按颜色区分。

  • 时间网格
  • 网格上显示状态

派工时间窗

现场作业按天排入各个时间窗。

  • 按小时的时间段
  • 结束时间

网络研讨会报名

每选一个场次生成一条报名记录。

  • 下拉列表
  • 允许重叠

会议分会场

每天的主题演讲和分会场作为一条带详情的记录。

  • 子块
  • 时段分区

深入阅读:Salesforce 面试安排和人力派遣与排班。

记录如何保存:您的对象,您的字段

一个子对象,带一个日期字段、一到两个时间字段,以及一个指向父记录的查找字段。向导会以下拉列表的形式列出它们。

您对象上的字段类型向导 / App Builder 设置
预约日期Date日期字段 API 名称
开始时间时间Start Time Field API Name
结束时间时间End Time Field API Name
联系人(父记录)查找关系字段 API 名称
状态 可选选项列表状态字段(Status Field)
结束日期 可选DateEnd Date Field API Name
子块 可选所选时间段之间的空档保存到一个子对象。08:00 到 17:00、中间 12:00 午休,休息时间会自动替您写入。
屏蔽日期 可选来自任意对象的节假日或关闭日,没人能选中它们。

只增不删。保存只会插入新记录,绝不删除现有记录。Load Existing Dates 会显示已有的预订,可设为可编辑或只读。

添加到 Lightning 页面

在 Lightning App Builder 中,把 MultiDatePick - Dates & Times 拖到页面上,设置 Config Name。

页面您需要设置的内容
记录页面Config Name。页面上的记录自动成为父记录。
应用程序页面、主页和 Experience 页面Config Name 加上 Static Parent Record Id:这些时间所属的记录。
Experience Cloud同时开启 Show In-Component Toast,让访客看到保存结果。

保存后保持整洁。开启 Show Inline (No Button) 和 Show Done Button in Inline Mode 后,单击“完成”会把选择器折叠为摘要卡片。单击卡片即可重新打开。

详细教程:入门指南和应用程序页面、主页和 Experience 页面。

在 Salesforce 屏幕 Flow(Screen Flow)中添加时间段选择器

把组件拖到屏幕上,将 Config Name 设为您的设置向导配置。所有复选框都来自该配置。

  • 屏幕
  • Dates & Times
  • 配置名称(Config Name)
  • Dates With Times JSON
  • Parse Date Entries from JSON
  • 循环
  • 创建记录
输出Flow 变量包含内容
Dates With Times JSON selectedDatesWithTimesJson文本每个日期及其开始和结束时间。将其解析为可循环的条目,包含 fromDate、toDate、startTime、endTime。
Selected Dates selectedDates文本集合仅日期,格式为 ISO 字符串。
Date Ranges JSON selectedDateRangesJson文本开启 Output Date Ranges as JSON 后,连续的日期会合并为日期范围。
Sub-Blocks JSON subBlocksJson文本时间段之间的空档。使用同一个解析操作。

或者干脆不用循环。当配置指定了子对象时,组件会自己保存记录,并填好时间。全程点选,无需 Apex。所有模式都在 Flow 速查表中。

规格

关键信息,一表看完。

安全已通过 Salesforce AppExchange 安全审查
数据100% 原生:您的数据始终留在 Salesforce 中。没有外部服务器,没有外部调用 (callout)。
Salesforce 版本Enterprise、Unlimited、Performance、Developer 和 Salesforce Platform,以及各行业云。不支持 Essentials 或 Professional。
使用位置屏幕 Flow、记录页面、应用程序页面、主页、Experience Cloud 站点
时间段任意间隔(常见为 15、30 或 60 分钟);网格或下拉列表;可选上午、下午、晚上分组
时间模式所有日期共用,或按日期设置
冲突block、skip 或 allow;默认向前检查 360 天
视图日历、周、日程、时间轴、使用率
语言9 种:英语、西班牙语、法语、德语、意大利语、日语、印地语、巴西葡萄牙语、简体中文
API 版本63.0
属性90 多个,全部点选设置。完整参考
设置无代码设置向导、Lightning App Builder 或 Flow Builder

一个方案,全部功能

时间段选择器不是升级版功能,每个席位都包含。

$20/用户/月
  • 30 天免费试用
  • 无需信用卡
  • Date、Date Time 和 Booking
  • 今后所有升级
查看价格

Salesforce 日期和时间选择器常见问题

管理员常搜的问题,简短作答。

如何在 Salesforce 屏幕 Flow 中添加时间段选择器?

在 Flow Builder 中打开一个屏幕,搜索 MultiDatePick,把 Dates & Times 组件拖到屏幕上,并将 Config Name 设为您在设置向导中创建的配置。所有复选框都来自该配置。当配置指定了子对象时,组件会自己保存记录;或者您也可以把 Dates With Times JSON (Output) 连接到一个文本变量,运行 Parse Date Entries from JSON 操作,循环处理各条目,每条创建一条记录。

每个日期可以设置不同的时间吗?

可以。开启 Allow Different Times Per Date(允许每个日期使用不同时间),每个所选日期都会有自己的时间网格或下拉列表,并按周分组。保持关闭时,一个共用网格会为您选的每个日期应用相同的时段。

它能防止重复预订吗?

能。“冲突行为”默认为 block:该日历上已被现有记录占用的时间段会显示为灰色,无法选择。skip 会保存空闲的时间段并报告已被占用的,适合跨多个日期批量选择。allow 则关闭检查。Conflict Look-Ahead Days 设置向前检查多远,默认 360 天。

可以用下拉列表代替时间网格吗?

可以。将 Time Display Mode(时间显示模式)设为 dropdown 即使用开始和结束时间选择器,或保留 grid,使用可拖动选择的可点击时间段。Time Interval(时间间隔)以分钟为单位设置时间段长度,任意间隔均可(常见为 15、30 或 60),Earliest Time 和 Latest Time 限定一天的范围,默认 08:00 到 18:00。

Salesforce 日期和时间选择器能在 Experience Cloud、应用程序页面和主页上使用吗?

能。在应用程序页面、主页和 Experience Cloud 页面上,设置 Config Name 以及 Static Parent Record Id(这些时间所属的记录)。在 Experience Cloud 上,请开启 Show In-Component Toast,让访客看到保存确认。

MultiDatePick Date Time 组件多少钱?

MultiDatePick 只有一个方案:每用户每月 $20,30 天免费试用,无需信用卡。Date Time、Date 和 Booking 全部包含,所有功能都有。

所有设置,供想了解细节的管理员参考

标签与设置向导、App Builder 和 Flow Builder 中显示的一致,下方附 API 名称。

全部属性参考

配置

设置项默认值作用
Config NameconfigName-从已保存的设置向导配置中加载所有设置。
Viewviewcalendar打开时的布局:calendar、week、agenda、timeline 或 utilization。
Available ViewsavailableViewsall切换器中提供的视图,以逗号分隔。
Agenda FieldsagendaFields-每个日程行上显示的额外字段。留空则沿用 Hover Popover Fields。

显示

设置项默认值作用
Button Labellabel选择日期和时间打开选择器的按钮上的文字。
Calendar TitlemodalTitle选择日期和时间日历上方的标题。
Show Inline (No Button)showInlinefalse日历始终可见,不显示按钮。
Two-Month ViewtwoMonthViewfalse两个月并排显示。
Calendar SizecalendarSizemediumtiny、xsmall(Very Small)、small、medium 或 large。Tiny 和 Very Small 适合实用工具栏、侧边栏和仪表板磁贴。
Day Header FormatdayHeaderFormat33 = SUN,2 = SU,1 = S。
Week Starts on MondayweekStartsOnMondayfalse每周从周一开始,而不是周日。
Show Recurring Pattern ButtonshowRecurringPatterntrue星期几、每隔几周以及每月第几次出现。
Show Selection SummaryshowSelectedSummarytrue已选多少个日期,以及它们的范围。
Show Done Button in Inline ModeshowDoneButtonInlinetrue单击“完成”后选择器折叠为摘要卡片。
Requiredrequiredfalse未选择日期时,Flow 无法继续。

时间选择

设置项默认值作用
Time Display ModetimeDisplayModegridgrid:可拖动选择的可点击时间段。dropdown:开始和结束时间选择器。
Time Interval (Minutes)timeInterval30时间段长度(分钟)。任意间隔均可;常见为 15、30 或 60。
Earliest TimeminTime08:00第一个时间段,24 小时制 HH:mm。
Latest TimemaxTime18:00最后一个时间段,24 小时制 HH:mm。
Allow Different Times Per DateallowDifferentTimesfalse每个日期都有自己的网格或下拉列表,而不是共用一组时间。
Enable End TimeenableEndTimetrue除开始时间外,还采集结束时间。
Group Time Slots by PeriodgroupTimeSlotsByPeriodfalse上午、下午和晚上三个分区。
Max Time SlotsmaxTimeSlotSelection0一个用户在所有日期中最多可选的时间段总数。0 = 不限。
Allow Whole-Day (No Times)allowWholeDayNoTimesfalse没有选择时间段的日期保存为全天记录。
Start Time Field API NamestartTimeField-用于开始时间的时间字段。
End Time Field API NameendTimeField-用于结束时间的时间字段。

仅时间网格

设置项默认值作用
Time Grid OnlytimeGridOnlyfalse隐藏日历,只显示某个隐含日期的时间网格。时间段保存到所在记录。
Time Grid DatetimeGridDate-明确指定的日期,格式为 YYYY-MM-DD。
Time Grid Date FieldtimeGridDateField-从所在记录上读取日期的日期字段。

隐含日期的取值顺序:先 Time Grid Date,再 Time Grid Date Field,最后是今天。

冲突与时间跨度

设置项默认值作用
Conflict BehaviorconflictBehaviorblockblock:已占用的时间段显示为灰色。skip:保存空闲的,报告其余的。allow:不检查。
Buffer Between Bookings (Minutes)bufferMinutes0每条现有记录之后预留的周转时间,过后下一个预订才能开始。
Conflict Look-Ahead DaysconflictLookAheadDays360向前检查现有记录的天数。
Consolidate Time SpanconsolidateTimeSpanfalse把所选时间段合并为一个开始和结束时间;中间的空档保存为子块。
Show Sub-Block Toggle ButtonshowSubBlockButtonfalse允许用户手动把时间段标记为子块。

状态与显示

设置项默认值作用
Status FieldstatusField-决定颜色的选项列表。
Status ColorsstatusColors-例如 Confirmed:green,Pending:orange,Cancelled:red。
Status Color DisplaystatusColorDisplaybothgrid、calendar 或 both。
Ignored StatuseshideBookingsWithStatus-带有此状态的记录不在网格上显示。
Status Field LabelstatusFieldLabel-状态选择器的自定义标签。
Second Picklist FieldsecondStatusField-保存时选择的第二个选项列表,例如原因。不按颜色区分。
Second Picklist LabelsecondStatusFieldLabel-第二个选项列表的标签。
Selectable Second-Picklist ValuesselectableSecondStatuses-允许的值。只有一个值时会自动应用,并隐藏选择器。
Hover Popover FieldshoverFields-悬停时显示的字段。
Show In-Component ToastshowSuccessToastfalse在组件内显示保存提示消息。在 Experience Cloud 上必须开启。
Show Add to Calendar After SavingshowAddToCalendarfalse保存后提供一个 .ics 文件,包含刚保存的所有时间,适用于 Outlook、Google 或 Apple。
Success Toast Message (optional)successToastMessage-自定义成功提示文字。

编辑模式

设置项默认值作用
Enable Edit ModeenableEditModetrue直接在组件中管理已保存的记录。
Edit Button LabeleditButtonLabel-“编辑”开关的自定义标签。
Edit Record DisplayeditRecordDisplayname, status, time每行显示哪些详情及其顺序:name(名称)、status(状态)、time(时间)、date(日期)。

保存与输出

设置项默认值作用
Static Parent Record IdstaticRecordId-应用程序页面、主页和 Experience 页面上的父记录。
Load Existing DatespreloadExistingDatestrue显示已保存的记录。
Existing Dates ModepreloadModeeditableeditable 或 readonly。
Append Date/Time to Record NameappendDateTimeToNametrue用日期和时间自动为每条记录命名。
Selected Dates (Output)selectedDates-ISO 格式日期,不含时间。
Dates With Times JSON (Output)selectedDatesWithTimesJson-每个日期及其时间。传给 Parse Date Entries from JSON。
Date Ranges JSON (Output)selectedDateRangesJson-开启 Output Date Ranges as JSON 后,连续的日期以范围形式输出。
Sub-Blocks JSON (Output)subBlocksJson-空档记录,使用同一个解析操作。

另外还有与 Date 共用的设置:Max Dates Allowed、Allow Past Dates、Earliest 和 Latest Selectable Date、Book Up To (Days Ahead)、Minimum Notice (Hours)、Pre-Selected Dates、Blocked Dates、Only These Dates Are Selectable、Auto-Jump to First Available Date、Record Name Field、Default Record Name、Save Button Label、Child Object、Date、End Date 和 Relationship Field API Names、Parent Record Id Field、屏蔽日期对象设置以及子块对象设置。

日期和时间一起选,自动为您保存

即将登陆 Salesforce AppExchange。现在就试用在线演示,或留下邮箱,上线时我们第一时间通知您。

100% Salesforce 原生。您的数据和配置始终留在您的组织内。