asp.net+access

q153367618 2010-09-14 03:45:30
asp.net+access 怎么在。cs页面里判断 “随便写个时间” 是否是本周?
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rart2008 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 t_long 的回复:]

C# code
public static bool IsThisWeek(DateTime someDate)
{
DateTime dt = DateTime.Now;

DateTime nowMon = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))……
[/Quote]
这是个好方法
rart2008 2010-09-14
  • 打赏
  • 举报
回复
我去写了下,方法有点笨,不过测试通过!
期待更好的办法

<div>
<asp:TextBox ID="txtDateTime" runat="server"></asp:TextBox><asp:RequiredFieldValidator
ID="valdDateTime" runat="server" ErrorMessage="不能为空"
ControlToValidate="txtDateTime" Display="Dynamic" Font-Size="12px"></asp:RequiredFieldValidator><asp:RegularExpressionValidator
ID="valeDateTime" runat="server" ErrorMessage="时间不合法"
ControlToValidate="txtDateTime" Display="Dynamic" Font-Size="12px"
ValidationExpression="^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$"></asp:RegularExpressionValidator><br />


<asp:Button ID="btnSumbit" runat="server" Text="验证" onclick="btnSumbit_Click" />
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</div>

先验证时间不能空,而且为合法的时间格式

protected void btnSumbit_Click(object sender, EventArgs e)
{
DateTime checkTime;
DateTime dtNow = DateTime.Now; //当前时间
DateTime startWeek;
DateTime endWeek;

//如果验证通过
if (IsValid)
{
checkTime = Convert.ToDateTime(txtDateTime.Text); //用户输入的时间
startWeek = Convert.ToDateTime(dtNow.AddDays(1 - Convert.ToInt32(dtNow.DayOfWeek.ToString("d"))).ToString("yyyy-MM-dd 00:00:00")); //本周周一
endWeek = Convert.ToDateTime(startWeek.AddDays(6).ToString("yyyy-MM-dd 23:59:59")); //本周周日
if (checkTime >= startWeek && checkTime <= endWeek)
{
lblMessage.Text = "时间是在本周内";
}
else
{
lblMessage.Text = "时间不是在本周内";
}
}
}


byxxw 2010-09-14
  • 打赏
  • 举报
回复
static bool isInCurrentWeekday(DateTime dt)
{
DateTime now = DateTime.Now;
int st = now.Day - Convert.ToInt32(now.DayOfWeek.ToString("d")) + 1;
if (dt.Day >= st && dt.Day <= st + 7)
{
return true;
}
return false;
}
chokochu 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kkbac 的回复:]
取得本周第一天.之后比第一天大就是本周了.
[/Quote]
取得本周第一天和最后一天.之后比第一天大比最后一天小就是本周了.
T_long 2010-09-14
  • 打赏
  • 举报
回复
  public static bool IsThisWeek(DateTime someDate)
{
DateTime dt = DateTime.Now;

DateTime nowMon = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));

TimeSpan ts = someDate - nowMon;

if (ts.Days >= 0 && ts.Days < 7)
{
return true;
}
else
{
return false;
}
}

kkbac 2010-09-14
  • 打赏
  • 举报
回复
取得本周第一天.之后比第一天大就是本周了.
MSDNXGH 2010-09-14
  • 打赏
  • 举报
回复
什么意思啊?

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧