busdays function not return correct date

34 次查看(过去 30 天)
Hi:
I'm trying to query the bus date list from given period, but I notice it returns different result by given the same date period, just at different time.
is there any mistake with my operation?
sample code is shown below:
load date_1
load date_2
load date_3
load date_4
busdays(date_1,date_2)
ans = 9x1 datetime array
28-Oct-2024 09:30:00 29-Oct-2024 09:30:00 30-Oct-2024 09:30:00 31-Oct-2024 09:30:00 01-Nov-2024 09:30:00 04-Nov-2024 09:30:00 05-Nov-2024 09:30:00 06-Nov-2024 09:30:00 07-Nov-2024 09:30:00
busdays(date_3,date_4)
ans = 8x1 datetime array
2024-10-28 10:30:00 2024-10-29 10:30:00 2024-10-30 10:30:00 2024-10-31 10:30:00 2024-11-01 10:30:00 2024-11-04 10:30:00 2024-11-05 10:30:00 2024-11-06 10:30:00
Thanks!
Yu

采纳的回答

Walter Roberson
Walter Roberson 2024-11-8,2:23
date_1 and date_2 both happen to have times of 09:30
date_3 has a time of 10:30. date_4 has a time of 9:30
The internal logic is
first_date : 1 : last_date
and then filter down to the business dates.
When the start time is 10:30 the generated times will all be 10:30 .
Note that date_4 itself will be excluded, since it's 9:30 time is after the 10:30 time of the starting time.
  2 个评论
Yu Li
Yu Li 2024-11-8,3:03
编辑:Yu Li 2024-11-8,3:04
this is really interesting, hmmmm.
steps are below shows how the difference is made:
load date_4
date_4
date_4-days(10)
the time difference between date_4-days(10) to date_4 is indeed 24*10 hours, the time difference is caused by transition from summer time to winter time recently in USA...
Walter Roberson
Walter Roberson 2024-11-8,4:25
I did not think of looking at time zones!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by