You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio获取当前星期几及DateTime::DayOfWeek访问报错咨询

在Visual Studio中获取星期几 & 解决DateTime::DayOfWeek访问错误

首先来解决你遇到的DateTime::DayOfWeek访问错误问题,这个错误提示"A nonstatic member reference must be relative to a specific object"其实已经说得很清楚了:DayOfWeek是DateTime的实例属性,不是静态成员,你不能直接通过类名DateTime::来调用它,必须先有一个具体的DateTime对象(也就是某个特定的日期时间实例)才能访问这个属性。

另外你写的DateTime dayy; dayy = DateTime::DayOfWeek;还有第二个问题:DayOfWeek是一个枚举类型(System::DayOfWeek),而dayy是DateTime类型,两者类型不匹配,自然没法直接赋值。

正确的用法分两种场景:

1. 获取当前系统时间的星期几

如果你想知道现在是星期几,可以先用静态方法DateTime::Now获取当前系统时间的实例,再访问它的DayOfWeek属性:

// 获取当前时间实例
DateTime currentTime = DateTime::Now;
// 获取星期几,返回DayOfWeek枚举(比如DayOfWeek::Sunday、DayOfWeek::Monday等)
DayOfWeek today = currentTime.DayOfWeek;

// 可选:转成字符串显示(比如"Monday")
String^ dayString = today.ToString();
// 可选:转成数字(0代表周日,1代表周一,以此类推到6代表周六)
int dayNumber = (int)today;

2. 针对已声明的DateTime变量获取星期几

如果你已经有一个自己定义的DateTime变量(比如你说的date),需要先给它赋值(比如指定某个日期,或者赋值为当前时间),再访问DayOfWeek:

// 初始化date为某个特定日期(2024年5月20日)
DateTime date = DateTime(2024, 5, 20);
// 或者初始化date为当前时间
// DateTime date = DateTime::Now;

// 获取这个日期对应的星期几
DayOfWeek dayOfWeek = date.DayOfWeek;

这样就能正确获取到星期几,也不会再出现之前的错误啦。

内容的提问来源于stack exchange,提问作者user8653311

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:08:49