嘉兴英文网站建设,seo的中文是什么意思,怎么做二级域名网站,wordpress拿站#x1f389;#x1f389; 时间是一个非常抽象的概念#xff0c;本篇文章我们不深究目前电脑上的时候是如何保持全网同步。主要是讲讲在使用C#编程语言里的时间类型。最后使用定时任务简单写一个提醒功能#xff0c;比如#xff1a;每天10点准时打开一次csdn首页#xff… 时间是一个非常抽象的概念本篇文章我们不深究目前电脑上的时候是如何保持全网同步。主要是讲讲在使用C#编程语言里的时间类型。最后使用定时任务简单写一个提醒功能比如每天10点准时打开一次csdn首页在工作忙碌之际浏览下技术信息或博客 目录1、C#时间类型1.1、结构体1.2、默认值1.3、设置默认空值2、定时器功能2.1、场景描述2.2、定时类2.3、当前时间2.4、定时弹页2.5、完整代码2.5、实现效果1、C#时间类型
在C#开发语言里的时间和日期主要是使用Datetime类、用于表达时间和时间处理TA能够获取和设置时间、时区、以及格式化。
1.1、结构体
很多小伙伴都会以为时间类型是一个class类从下图可以知道它是一个struct结构 1.net framework 继承了多个接口类实现的功能也非常丰富已经可以满足大部分需求功能 2.net core 到了跨平台框架后它是在System.Runtime里
1.2、默认值
直接定义不赋值默认也是有值得它是以公历0001年1月1日00:00:00.000 1获取当前时间 从下图可以知道Now获取的当前时间就是电脑的时间
DateTime dt DateTime.Now;1.3、设置默认空值
由于在实际项目中可能时间会有空值情况这个时候就不能直接返回值不然就会显示默认0001时间值。在C#里直接在时间类型后面加个问号接口
DateTime? dtNull;作者小5聊 原则Write Less Do More! 简介一只喜欢全栈方向的程序员专注基础和实战分享欢迎咨询尽绵薄之力答疑解惑 2、定时器功能
在C#里写一个定时任务非常简单这里使用Task类来实现这里有一个异步的概念不深入探究结合while以及Sleep()休眠方法
2.1、场景描述
每天定时10点整自动打开一个chrome谷歌浏览器并跳转到csdn首页。
2.2、定时类
在Task之前多线程处理方式有Thread、ThreadPool、委托他们在资源占用、阻塞等方面处理的不好为了改善才有了Task启动方法很简单如下
Task.Run(()
{// 写业务代码和主业务不冲突异步执行
});2.3、当前时间
界面可以设置一个label标签实时显示当前的时间方法逻辑很简单直接就是一个Task异步然后在异步方法里使用while无限循环每次休眠1秒后再执行就会有实时时间动态效果。
private void NowTimeData()
{CheckForIllegalCrossThreadCalls false;Task.Run(() {while (true){lbTime.Text DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);Thread.Sleep(1 * 1000);}});
}2.4、定时弹页
同上异步方法的逻辑判断为小时分秒满足条件则通过进程类打开浏览器并跳转到指定地址显示
private void OpenData()
{CheckForIllegalCrossThreadCalls false;Task.Run(() {while (true){if (DateTime.Now.Hour 10 DateTime.Now.Minute 0 DateTime.Now.Second 0){Process process new Process();//process.StartInfo.FileName C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe;process.StartInfo.FileName C:\Program Files\Google\Chrome\Application\chrome.exe;process.StartInfo.Arguments $https://www.csdn.net;process.Start();}Thread.Sleep(1 * 1000);}});
}2.5、完整代码
判断逻辑取小时为10取分钟为01分钟执行一次判断确保只弹出一次
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace CsndWinForm
{public partial class TimeData : Form{public TimeData(){InitializeComponent();NowTimeData();OpenData();}private void NowTimeData(){CheckForIllegalCrossThreadCalls false;Task.Run(() {while (true){lbTime.Text DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);Thread.Sleep(1 * 1000);}});}private void OpenData(){CheckForIllegalCrossThreadCalls false;Task.Run(() {while (true){if (DateTime.Now.Hour 10 DateTime.Now.Minute 0){Process process new Process();//process.StartInfo.FileName C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe;process.StartInfo.FileName C:\Program Files\Google\Chrome\Application\chrome.exe;process.StartInfo.Arguments $https://www.csdn.net;process.Start();}Thread.Sleep(60 * 1000);}});}}
}
2.5、实现效果