C#,System.Timers.Timer,每 15 分钟运行一次,与系统时钟同步

2024-05-10

如何让 System.Timers.Timer 每 15 分钟触发一次与系统时钟同步的事件?换句话说,我希望它恰好在 xx:00、xx:15、xx:30、xx:45 触发(其中 xx 表示任何小时)


您可以让它每秒流逝一次,并检查当前时间是否为 00、15、30 或 45,然后才转发事件。

第一个想法是:

private static System.Timers.Timer aTimer;
private static System.DateTime _last;

public static void Main()
{
    aTimer = new System.Timers.Timer(10000);

    aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

    aTimer.Interval = 1000;
    aTimer.Enabled = true;

    Console.WriteLine("Press the Enter key to exit the program.");
    Console.ReadLine();
}

private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    DateTime time = 
        new DateTime( 1,1,1, DateTime.Now.Hours, DateTime.Now.Minute );

    if( time.Minute==0 ||time.Minute==15 || time.Minute==30 || time.Minute==45 )
    {
        // Avoid multiple notifications for the same quarter.
        if ( _last==DateTime.MinValue || _last!=time )
        {
            _last = time;

            // Do further processing.
            doProcessing();
        }
    }
}

(示例基于这个 MSDN 文档 http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#,System.Timers.Timer,每 15 分钟运行一次,与系统时钟同步 的相关文章

随机推荐

  • 成功添加具有父引用的子实体后,子实体不会显示在父资源下

    我有两个实体 书架和书籍 一个书架可以有多本书 关系是双向的 我已将这两者公开为 JpaRepositories 问题是这样的 我通过将 name sci fi 发布到 shelves 来创建一个架子 成功 我通过将 name mybook
  • 更改 UITableView 中移动单元格的默认图标

    我需要更改 UITableView 中移动单元格的默认图标 这个 是否可以 这是一个非常棘手的解决方案 可能无法长期工作 但可能会给您一个起点 重新排序控制是UITableViewCellReorderControl 但这是一个私有类 因此
  • 如何使用扩展构建双重调度

    我有一个具有类层次结构的库 如下所示 class Base class A Base class B Base 现在我想根据对象的类型 无论是 A 还是 B 做不同的事情 所以我决定去实现双重调度以避免检查类型 class ClientOf
  • 如何从 PowerQuery/Excel 数据模型中具有多对多关系的两个表中选取数据?

    这是我第一次在 stackoverflow 上提问 让我们看看进展如何 我正在尝试将不同规模资产的场景管理器连接到其所属的成本时间序列 以便我可以计算属于特定场景的资产配置的现金流 这就是我需要连接的两个表 简而言之 的样子 场景管理器 S
  • 错误:“std::this_thread”尚未声明

    我尝试使用 std this thread sleep for 函数但收到错误 error std this thread has not been declared 包括标志 GLIBCXX USE NANOSLEEP 还需要什么来强制它
  • 排除 npm 包中的测试代码?

    The 开发依赖 https docs npmjs com files package json devdependenciesnpm 的 package json 文档的部分说要在那里列出您的测试依赖项 以便您的包的用户不必拉取额外的依赖
  • Jersey 将 Weld 托管 bean 注入 ConstraintValidator

    我已经花了几个小时寻找解决方案来解决我的问题 但我无法让它发挥作用 我想将 Weld 管理的服务注入 ConstraintValidator 中 该 ConstraintValidator 用于验证发布到 JAX RS Rest Servi
  • Popper.js:点击外部时如何关闭弹出窗口

    我在用着波普尔 js https popper js org 显示具有该类的弹出元素 js share cf popover单击带有类的元素时 js share cf btn 但我希望只有当我在弹出窗口之外单击时才关闭弹出窗口 这是我显示弹
  • c++ 12位变量,我该怎么做?

    我正在构建一个体素引擎 所以我担心内存使用情况 使用 12 位而不是 16 位块 ID 可以节省大量内存 我有一个 3D 块 id 数组 每个 id 都有一个静态配置 我不确定实现这一目标的好方法是什么 有没有一种方法可以获取一块原始内存并
  • 如何让 Show 显示函数名称?

    作为一个让我熟悉 Haskell 的简单练习 在 Youtube 上闲逛并偶然进入美国倒计时游戏节目之后 我想为数字游戏制作一个求解器 你得到 6 个数字 需要将它们与 为了得到给定的结果 到目前为止我所得到的是非常脑死亡的 let ope
  • 导入属性始终为空(MEF 导入问题)

    我尝试了一段时间使用 MEF 来完成工作 但现在遇到了一个问题 我需要帮助 描述 我有 2 个 DLL 和 1 个 EXE 文件 ClassLibrary1 LoggerImpl cs SomeClass cs 类库2 ILogger cs
  • Unity Transform.LookAt 仅在一个轴上

    我一直在开发一款游戏 进展非常顺利 从这里得到了一些帮助 我再次需要它 所以我正在制作一个 2D 自上而下的射击游戏 我需要我的敌人看着玩家 显然敌人会在所有轴上旋转 因此是无敌的 或者看起来很奇怪 那么 如何让它只在Z轴上旋转呢 另外 如
  • Hibernate条件查询

    我正在尝试使用 Hibernate criteria api 执行子查询 但无法完全弄清楚如何执行它 假设有 2 个表 SHOPS 和 EMPLOYEES 其中 SHOPS 包含所有商店信息 EMPLOYEES 是所有商店中所有员工的大表
  • 为什么 FindWindow 找到了 EnumChildWindows 找不到的窗口?

    我正在寻找一个类名称为 CLIPBRDWNDCLASS 的窗口 它可以在办公应用程序和其他应用程序中找到 如果我使用 FindWindow 或 FindWindowEx 我找到第一个具有此类的 HWND 但我想要all具有该类的窗口 因此我
  • 在没有自动关闭标签的元素之前和之后插入内容

    假设我有以下内容 div content div 我想在它之前插入一些东西 注意未关闭的div content before div pre pre content div div pre content 之后还有一些 注意我现在正在关闭
  • Blazor 服务器端 Console.WriteLine 不起作用

    在服务器端 Blazor 应用程序上我发现Console WriteLine不起作用 为什么我在 Chrome 控制台中看不到该文本 code protected override async Task OnInitializedAsync
  • 在电子中播放本地mp4文件

    我正在尝试开发一个小应用程序 其中我首先通过以下方式捕获屏幕aperture包 然后尝试使用在屏幕上显示它video tag 我通过以下方式捕获屏幕 import apertureConstructor from aperture cons
  • 如何将定位模式从默认模式更改为“高精度/省电”(仅限设备)

    我正在尝试使用本教程实现谷歌地图来获取当前位置 Android 谷歌地图教程 https www androidtutorialpoint com intermediate android map app showing current l
  • 未为模块“Example-Example”指定 APK 路径

    我是 Android 应用程序开发领域的新手 我正在创建一个项目示例安卓工作室 我有我的午餐列表 java文件输入src main java apt tutorial lunchlist 直到昨天一切都工作正常 但是当我今天打开 andro
  • C#,System.Timers.Timer,每 15 分钟运行一次,与系统时钟同步

    如何让 System Timers Timer 每 15 分钟触发一次与系统时钟同步的事件 换句话说 我希望它恰好在 xx 00 xx 15 xx 30 xx 45 触发 其中 xx 表示任何小时 您可以让它每秒流逝一次 并检查当前时间是否