我尝试搜索但找不到任何东西。
我正在尝试获取 calander 月的第一个和最后一个日期。
例如,2020年1月的日历月实际上是从2019年12月30日开始,到2020年2月2日结束。(第1-5周)
|---------------------|-------------------|-------------------|
| Week number | From Date | To Date |
|---------------------|-------------------|-------------------|
| Week 01 | December 30, 2019 | January 5, 2020 |
|---------------------|-------------------|-------------------|
| Week 05 | January 27, 2020 | February 2, 2020 |
|---------------------|-------------------|-------------------|
Using this website to get week numbers
这可能吗?
非常感谢。
答案 0 :(得分:1)
DECLARE @DATE DATETIME='29-JAN-2020'
SELECT DATEADD(DAY, 2 - CASE WHEN DATEPART(WEEKDAY, @DATE-DAY(@DATE)+1)=1 THEN 8 ELSE DATEPART(WEEKDAY, @DATE-DAY(@DATE)+1) END, CAST( @DATE-DAY(@DATE)+1 AS DATE)) [MONTH_START_DATE],
DATEADD(DAY, 8 - CASE WHEN DATEPART(WEEKDAY, EOMONTH(@DATE))=1 THEN 8 ELSE DATEPART(WEEKDAY, EOMONTH(@DATE)) END , CAST(EOMONTH(@DATE) AS DATE)) [MONTH_END_DATE];
https://dbfiddle.uk/?rdbms=sqlserver_2012&fiddle=9747ea25d0d0bc343be8dbcc90803303
答案 1 :(得分:0)
您可以使用以下逻辑:
private void OnDrawGizmos()
{
var sorted = positions.OrderByDescending((x) => Vector3.Distance(Camera.current.transform.position, x));
foreach (Vector3Int position in sorted)
{
Gizmos.DrawCube(position * Const.tileSize, Const.tileVectorSize);
}
}
当然,您可以使用任意日期代替select convert(date, dateadd(day, 1 - day(getdate()), getdate())) as month_first,
dateadd(day, 1, eomonth(getdate(), -1)) as alternative_month_first,
eomonth(getdate()) as month_last
。