为何无法使用DateAndTime.DateDiff方法

三撇猪 2010-07-27 12:44:18
private void button1_Click(object sender, EventArgs e)
{
DateTime get_time1=Convert .ToDateTime (DateTime .Now .ToString ());
DateTime sta_ontime1=Convert .ToDateTime (Convert .ToDateTime (textBox2 .Text .Trim ().ToString ()));
long dat = DateAndTime.DateDiff("s", get_time1, sta_ontime1, FirstDayOfWeek.Sunday, FirstWeekOfYear.FirstFourDays);
if(dat>0)
{
if(timer2 .Enabled !=true )
{
timer2 .Enabled =true;
label2.Text ="闹钟已启动";
label1.Text ="剩余"+dat.ToString ()+"秒";
}
else
{
MessageBox.Show("时钟已经启动,请取消后,再启动");
}
}
else
{
long hour=24*3600+dat;
timer2 .Enabled =true ;
label2 .Text ="闹钟已经启动";
label1.Text ="剩余"+hour.ToString ()+"秒";
}
}


最后显示出
错误 1 当前上下文中不存在名称“DateAndTime"
错误 2 当前上下文中不存在名称“FirstDayOfWeek”
错误 3 当前上下文中不存在名称“FirstWeekOfYear”

...全文
388 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
三撇猪 2010-07-27
  • 打赏
  • 举报
回复
已经添加了,但是还是不行~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;
三撇猪 2010-07-27
  • 打赏
  • 举报
回复 1
[Quote=引用 6 楼 jshi123 的回复:]

点菜单上的“项目”->“添加引用...”,在弹出对话框里找到“Microsoft.VisualBasic”,点确定
[/Quote]谢谢。新手 谢谢帮助
wuyq11 2010-07-27
  • 打赏
  • 举报
回复
命名空间 Microsoft.VisualBasic
ybfqzm 2010-07-27
  • 打赏
  • 举报
回复
引入,命名空间
iammac 2010-07-27
  • 打赏
  • 举报
回复

DateTime get_time1=Convert .ToDateTime (DateTime .Now .ToString ());
这什么意思
天地英豪 2010-07-27
  • 打赏
  • 举报
回复
如果是.net2.0的话,应该打.net sp1
jshi123 2010-07-27
  • 打赏
  • 举报
回复 1
添加引用 Microsoft.VisualBasic
wuyq11 2010-07-27
  • 打赏
  • 举报
回复
添加引用Microsoft.VisualBasic.DateAndTime
jshi123 2010-07-27
  • 打赏
  • 举报
回复 3
点菜单上的“项目”->“添加引用...”,在弹出对话框里找到“Microsoft.VisualBasic”,点确定
--计算当前月的实际天数 Create FUNCTION dbo.CalcDaysOfMonth (@time varchar(6)) RETURNS int AS BEGIN DECLARE @Days int DECLARE @Month int DECLARE @Year int SET @Year=SUBSTRING(@time,1,4) SET @Month=SUBSTRING(@time,5,6) if( @Month='1' OR @Month='3' OR @Month='5' OR @Month='7' OR @Month='8' OR @Month='10' OR @Month='12' ) set @Days=31 else if( @Month='4' OR @Month='6' OR @Month='9' OR @Month='11' ) set @Days=30; else if(@Year%400=0 OR (@Year%4=0 AND @Year%100<>0)) set @Days=29 else set @Days=28 RETURN(@Days) END 学习与做项目中总结的几个实用的sqlserver 函数 希望对大家有帮助 --确定某年某月有多少天 Create FUNCTION DaysInMonth ( @date datetime ) Returns int AS BEGIN RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0))) END --哪一天是输入时间的星期一 Create FUNCTION MondayInDate ( @date datetime ) RETURNS DATETIME AS BEGIN RETURN DATEADD(week, DATEDIFF(week,0,@date),0) END --输入时间的季度的第一天 Create FUNCTION QuarterInDate ( @date datetime ) RETURNS DATETIME AS BEGIN RETURN DATEADD(quarter, DATEDIFF(quarter,0,@date), 0) END --输入时间的季度的天数 Create FUNCTION QuarterDaysInDate ( @date datetime ) RETURNS INT AS BEGIN declare @m tinyint,@time SMALLDATETIME select @m=month(@date) select @m=case when @m between 1 and 3 then 1 when @m between 4 and 6 then 4 when @m between 7 and 9 then 7 else 10 end select @time=datename(year,@date)+'-'+convert(varchar(10),@m)+'-01' return datediff(day,@time,dateadd(mm,3,@time)) END --按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 Create function Get_StrArrayLength ( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号 ) returns int as begin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end return @length END --按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便 Create function Get_StrArrayStrOfIndex ( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素 ) returns varchar(1024) as begin declare @location int declare @start int declare @next int declare @seed int set @str=ltrim(rtrim(@str)) set @start=1 set @next=1 set @seed=len(@split) set @location=charindex(@split,@str) while @location<>0 and @index>@next begin set @start=@location+@seed set @location=charindex(@split,@str,@start) set @next=@next+1 end if @location =0 select @location =len(@str)+1 --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。 return substring(@str,@start,@location-@start) END select dbo.Get_StrArrayStrOfIndex('8,9,4','',4) --结合上边两个函数,象数组一样遍历字符串中的元素 create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as varchar(100) set @SourceSql=@SourceSql+@StrSeprate while(@SourceSql<>'') begin set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1) insert @temp values(@ch) set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'') end return end select * from dbo.f_splitstr('1,2,3,4',',')

110,533

社区成员

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

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

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