C# 这个问题真着急,这个真可以回答 在线等

Jelly_tracy 2009-05-06 01:43:25
我在网上找了半天,没有找到,如何获得默认时间,也就是0001-1-1-1 0:00:00 恩 应该就是这个时间,
还有 怎样比较两个时间是否相等呢?
我想做一个treeview,有节点新增客户,其中有子节点本日新增,本周新增,本月新增,通过系统当前时间来获得本日,本周,本月的时间范围,通过本日新增,本周新增,本月新增来实现导航,比如单击本月新增,就将通过系统当前时间获得到的本月的时间范围作为条件,在数据库里面进行搜索,请各位帮帮啦


总结:
1,如何获得默认的时间值
2,如何比较两个时间是否相等
3,如何通过系统的当前时间获得本日,本周,本月的时间范围


不知道我想的这个逻辑是否合理,我已经实现了其他的一些东西,在这里希望各位帮忙了,完成这个treeview!!!
...全文
188 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jelly_tracy 2009-05-07
  • 打赏
  • 举报
回复
谢谢各位一直以来的帮忙,终于完成了!!!
xiaoyasheng 2009-05-06
  • 打赏
  • 举报
回复
学习中......
  • 打赏
  • 举报
回复
我啥时候才能达到这种境界哦哦
netstray 2009-05-06
  • 打赏
  • 举报
回复
学习学习中……
Jock.Chen 2009-05-06
  • 打赏
  • 举报
回复
以下代码测试通过,自己检测下是否符合要求.
测试数据


create table users
(
Id int identity(1,1) primary key,
UserName nvarchar(20) null,
CreateTime datetime default(1900-01-01)
)

insert into users (UserName,CreateTime)
select '张三',getdate()
union
select '李四','2009-05-06'
union
select '王五', '2009-05-01'


前端处理

private const string conString = "Server=SZSOFT-SZZB\\SQLEXPRESS;database=office;uid=sa;pwd=abc_!123456;";

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BuildUserTree();
}
}

/// <summary>
/// 生成树
/// </summary>
private void BuildUserTree()
{
trvUser.Nodes.Clear();

TreeNode root = new TreeNode("新增用户");
CreateSubNode(root);
trvUser.Nodes.Add(root);

}

/// <summary>
/// 加载子节点
/// </summary>
/// <param name="parentNode"></param>
private void CreateSubNode(TreeNode parentNode)
{

TreeNode subNode = null;
DataTable dt = GetAllUsers();

DateTime now=DateTime.Now;
int dow=(int)now.DayOfWeek;
//星期天为第一天
int di=-dow;
DateTime startWeek=now.AddDays(di);
int ei = 6 - dow ;
DateTime endWeek = now.AddDays(ei);

DateTime startMonth = Convert.ToDateTime(string.Format("{0}-{1}-01",now.Year,now.Month));
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);

// 今天新增用户
DataRow[] drFind = dt.Select(string.Format("CreateTime='{0}'", now.ToString("yyyy-MM-dd")));
TreeNode todayNode = new TreeNode("今天新增");
foreach(DataRow dr in drFind)
{
subNode = new TreeNode(dr["UserName"].ToString());
todayNode.ChildNodes.Add(subNode);
}
parentNode.ChildNodes.Add(todayNode);

// 本周新增用户
drFind = dt.Select(string.Format("CreateTime>='{0}' and CreateTime <='{1}' ", startWeek.ToString("yyyy-MM-dd"),endWeek.ToString("yyyy-MM-dd")));
TreeNode weekNode = new TreeNode("本周新增");
foreach(DataRow dr in drFind)
{
subNode = new TreeNode(dr["UserName"].ToString());
weekNode.ChildNodes.Add(subNode);
}
parentNode.ChildNodes.Add(weekNode);

// 月新增用户
drFind = dt.Select(string.Format("CreateTime>='{0}' and CreateTime <='{1}' ", startMonth.ToString("yyyy-MM-dd"), endMonth.ToString("yyyy-MM-dd")));
TreeNode monthNode = new TreeNode("本月新增");
foreach (DataRow dr in drFind)
{
subNode = new TreeNode(dr["UserName"].ToString());
monthNode.ChildNodes.Add(subNode);
}
parentNode.ChildNodes.Add(monthNode);
}

/// <summary>
/// 获取数据
/// </summary>
/// <returns></returns>
private DataTable GetAllUsers()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = conString;
con.Open();
string sqlSelect = "select Id,UserName,convert(varchar(10), CreateTime,120) as CreateTime From Users";
SqlDataAdapter adapter = new SqlDataAdapter(sqlSelect, con);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
修炼成精 2009-05-06
  • 打赏
  • 举报
回复
可以在sql语句查询范围:
select * from tb where addDate>= convert(varchar(7), Getdate(),120) + '-01' 
and adddate< convert(varchar(7),dateadd(month,1,Getdate()),120) + '-01'
nosaxw 2009-05-06
  • 打赏
  • 举报
回复

int i = (int)DateTime.Now.DayOfWeek;
DateTime sd = DateTime.Now.AddDays(0 - i);
DateTime ed = DateTime.Now.AddDays(6 - i);
Jelly_tracy 2009-05-06
  • 打赏
  • 举报
回复
不好意思 可能是我描述的不清楚,我要获得的是时间范围,比如 stareMonth ~ endMonth
lertulo 2009-05-06
  • 打赏
  • 举报
回复
。。。我一個轉身樓上的已經答了
redsnowv 2009-05-06
  • 打赏
  • 举报
回复
1,如何获得默认的时间值
DateTimevar1=newDateTime(0);

2,如何比较两个时间是否相等

DateTime var1 = new DateTime(0);
DateTime var2 = DateTime.Now;

if (var1.Equals(var2))
{
MessageBox.Show("相等");
}

3,如何通过系统的当前时间获得本日,本周,本月的时间范围

DateTime.Now.Year; //今天所在的年
DateTime.Now.Month; //今天所在的月
DateTime.Now.Day; //今天的日期
DateTime.Now.DayOfWeek; //今天是一周中的那一天

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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