最近发现了一些让我对SQLServer的DATEDIFF函数感到震惊的事情(当然,这是我没有阅读文档的错);它计算两个指定日期之间的间隔边界数。这意味着我可以问它01 Jan 23:57和01 Jan 23:59之间的天数,它会返回0,但是如果我问01 Jan 23:59和02 Jan 00:01之间的天数,它会告诉我它们之间有1天。时间跨度是一样的:2分钟,但是突然一个相差0天,一个相差1天
来自Oracle和.Net的背景,我可以看到我犯了一个严重的错误,假设TSQL中的DATEDIFF是等价的(例如
我正试图收集一周和一个月的所有当前日子。这应该很容易,但只要我搜索,我就找不到解决办法。例如,把今天当作一天,我需要的结果是这样的:$daysInMonth = [1,2,3,4,5,6,7,...,28];//Note here that are febrary, and need to return 28, not 31 $weekStartDate = Carbon::now()->startOfWeek();
$month