C#怎么用代码挨个获取每天的24个小时、就是获取后面的时间刻度、如(1:00 2:00 3:00——24:00)都要获取

C#怎么用代码挨个获取每天的24个小时、就是获取后面的时间刻度、如(1:00 2:00 3:00——24:00)都要获取,第1张

DateTimeNowToLocalTime()ToString(); // 2014-10-27 12:12:12

DateTimeNowToLongTimeString()ToString(); // 12:12:12

DateTimeNowToShortTimeString()ToString(); // 12:12

你自己看是要哪一种!

如何让程序在每天的指定时间执行一个方法? 最近写了一个winform 程序,需要每天在用户指定的时间向服务器获取数据,比如说每天早上的八点半,到八点半时程序执行获取数据的方法,请问我怎么在指定的时间到时触发获取数据的方法呢?timer 好像是每隔一段时间执行一个方法,请高手帮助下,谢谢! ------解决方案-------------------------------------------------------- DateTime currentTime = DateTimeNow; 可以获取当前时间年月日时分秒都行 currentTimeMinute //分 不过让timer 运行24 小时,每秒判断,就得很那个 ------解决方案-------------------------------------------------------- 先定义一个string time 按时间格式定成8 点 用timer 每隔一秒用datetime 获取一次的本机的时间再把转换成string 型,要和你上面定义的时间格式一致,用if 判断,如果等于上面定义的string time 就执行函数。 ------解决方案-------------------------------------------------------- 算一下现在离该执行的时间还有多少,直接sleep 多长时间,如果计算机cpu 符合不高的话,误差不超过2s ------解决方案-------------------------------------------------------- 程序执行时记录当前的时间,然后计算出到指定的时间的间隔,将timer的interval设为这个间隔做你指定的任务 另外在WndProc 中检测是否有WM_TIMECHANGE 消息产生,有就说明有人修改了系统时间,那你记下当前的时间,重新计算间隔,重新设置timer 的interval 就可以了,占用资源的也很少 ------解决方案-------------------------------------------------------- 不用定时器你怎么定时接收,定时器影响不大。 C# code private void button1_Click(object sender, EventArgs e) { timer1Interval = 500; timer1Start(); } string lastRunTime = DateTimeNowAddDays(-1)ToString( yyyy-MM-dd ); private void timer1_Tick(object sender, EventArgs e) { DateTime dtNow=DateTimeNow ; if (DateTimeNowToString( yyyy-MM-dd ) lastRunTime DateTimeNowHour = 8) { lastRunTime = DateTimeNowToString( yyyy-MM-dd ); // 获取数据 } } ------解决方案-------------------------------------------------------- windows 服务定时执行 或 SystemTimersTimer myTimer = new SystemTimersTimer(); myTimerInterval = 1000; myTimerEnabled = true; myTimerElapsed += new SystemTimersElapsedEventHandler(OnTimedEvent); private static void OnTimedEvent(object source, SystemTimersElapsedEventArgs e) { } ------解决方案-------------------------------------------------------- 如果只是关注在全天的非运行时间里定时器对系统的影响,那么实现起来很简单,两级定时器,每一级全天运行,时长很长,设为系统允许的最长时间,假设为 X 分钟一次。当该定时器发现与应运行时间小于 Y 分钟(y X)时,则二级定时器开机,它的时长设定为需求所规定的精度。当软件完成时,关闭二级,开启一级。 ------解决方案-------------------------------------------------------- 我是初学者,有一个很傻的办法, 你在获取当前时间时,去判断当前时间是否是你想要的时间如果是你就开启一个时间控件,在时间控件里写上你想要执行的事件,见笑了、、、、、 ------解决方案-------------------------------------------------------- 我觉得可以这样,先程序启动的时候获取系统时间再化成秒,在把你需要程序启动时间化成 秒,然后相减获得相差时间,在定义个TIMER 设定过多少秒后执行你的代码 ------解决方案-------------------------------------------------------- windows 服务定时执行 ------解决方案-------------------------------------------------------- timer 控件不会影响太多的性能,可以启动单独的线程进行定时判断 ------解决方案-------------------------------------------------------- ------解决方案-------------------------------------------------------- 使用WINDOWS 自己带的计划任务 ------解决方案-------------------------------------------------------- 基本上就是用Timer,如果你的定时不需要精确到秒,你可以把 Timer 时间差距调成1 分钟(60000),基本上不占用什么资源 ------解决方案-------------------------------------------------------- 探讨 使用WINDOWS 自己带的计划任务 ------解决方案-------------------------------------------------------- 1 写一个控制台程序 2 控制面版-- 计划任务-- 新建任务-- 运行控制台程序

TimeSpan 实例的值表示一个时间段。该值是实例中包含的刻度数,其范围可以在 Int64MinValue 到 Int64MaxValue 之间。一个刻度是可以指定的最小时间单位,等于 100 毫微秒。刻度数和 TimeSpan 的值都可以指定为正值或负值。

可以按“[-]dhh:mm:ssff”格式将 TimeSpan 表示为一个字符串,其中“-”是用于表示负 TimeSpan 值的可选符号,“d”部分为天,“hh”为小时,“mm”为分钟,“ss”为秒,而“ff”为秒的小数部分。例如,初始化为 10e+13 刻度的 TimeSpan 表示“1113:46:40”,即 11 天,13 小时,46 分钟和 40 秒。

由于月和年的天数会有所变化,因此 TimeSpan 使用的最长时间单位为天。

可以反加两个日期之间任何一个时间单位。

private string DateDiff(DateTime DateTime1, DateTime DateTime2)

{string dateDiff = null;

TimeSpan ts1 = new TimeSpan(DateTime1Ticks);

TimeSpan ts2 = new TimeSpan(DateTime2Ticks);

TimeSpan ts = ts1Subtract(ts2)Duration();

dateDiff = tsDaysToString()+"天"+ tsHoursToString()+"小时"+ tsMinutesToString()+"分钟"+ tsSecondsToString()+"秒";

return dateDiff;

}

TimeSpan ts = Date1 - Date2;

double dDays = tsTotalDays;//带小数的天数,比如1天12小时结果就是15

int nDays = tsDays;//整数天数,1天12小时或者1天20小时结果都是1

说明:

1DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻

2TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值

下面的列表涵盖了其中的一部分:

Add:与另一个TimeSpan值相加。

Days:返回用天数计算的TimeSpan值。

Duration:获取TimeSpan的绝对值。

Hours:返回用小时计算的TimeSpan值

Milliseconds:返回用毫秒计算的TimeSpan值。

Minutes:返回用分钟计算的TimeSpan值。

Negate:返回当前实例的相反数。

Seconds:返回用秒计算的TimeSpan值。

Subtract:从中减去另一个TimeSpan值。

Ticks:返回TimeSpan值的tick数。

TotalDays:返回TimeSpan值表示的天数。

TotalHours:返回TimeSpan值表示的小时数。

TotalMilliseconds:返回TimeSpan值表示的毫秒数。

TotalMinutes:返回TimeSpan值表示的分钟数。

TotalSeconds:返回TimeSpan值表示的秒数。

/// <summary>

/// 日期比较

/// </summary>

/// <param name="today">当前日期</param>

/// <param name="writeDate">输入日期</param>

/// <param name="n">比较天数</param>

/// <returns>大于天数返回true,小于返回false</returns>

private bool CompareDate(string today, string writeDate, int n)

{

DateTime Today = ConvertToDateTime(today);

DateTime WriteDate = ConvertToDateTime(writeDate);

WriteDate = WriteDateAddDays(n);

if (Today >= WriteDate)

return false;

else

return true;

}

DateTime DT = SystemDateTimeNow;

string dt = SystemDateTimeNowToString();

对于datetime对象,主要有下面几个属性:

Year、Month、Date、Hour、Minute、Secord 分别获取此实例的年、月、日、时、分、秒部分

TimeOfDay、DayOfWeek、DayOfYear 分别表示获取此实例的当天的时间、获取此实例所表示的日期是星期几、获取此实例所表示的日期是该年中的第几天

对于datetime对象,主要有下面几个方法:

AddYears、AddMonths、AddDays分别将指定的年、月、日数加到此实例的值上。

NSDate date = [NSDate date];//给定的时间

NSDate lastDay = [NSDate dateWithTimeInterval:-246060 sinceDate:date];//前一天

NSDate nextDat = [NSDate dateWithTimeInterval:246060 sinceDate:date];//后一天

至于给定时间是不是字符串形式的,你也没说 要转换请用NSDateFormatter

python 获取日期我们需要用到time模块,比如timestrftime方法

timestrftime('%Y-%m-%d',timelocaltime(timetime()))

最后用timestrftime()方法,把刚才的一大串信息格式化成我们想要的东西,现在的结果是:

2013-03-31

timestrftime里面有很多参数,可以让你能够更随意的输出自己想要的东西:

下面是timestrftime的参数:

strftime(format[, tuple]) -> string

将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

python中时间日期格式化符号:

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地AM或PM的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

以上就是关于C#怎么用代码挨个获取每天的24个小时、就是获取后面的时间刻度、如(1:00 2:00 3:00——24:00)都要获取全部的内容,包括:C#怎么用代码挨个获取每天的24个小时、就是获取后面的时间刻度、如(1:00 2:00 3:00——24:00)都要获取、怎么让程序在每天的指定时间执行一个方法、C#如何取某一天(比如10月1日)到今天的时间间隔,要具体代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9688376.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存