zoukankan      html  css  js  c++  java
  • Qrartz.net 在core上的学习记录 3、获取下次或下几次的运行时间

    备注:以下代码是从网上摘抄

      方法体:

            /// <summary>
            /// Corn表达式的运行时间
            /// </summary>
            /// <param name="cron">表达式</param>
            /// <param name="times">计算次数</param>
            /// <param name="startTime">开始时间</param>
            /// <returns></returns>
            public static String GetCronSchdule(String cron, int times, DateTimeOffset startTime)
            {
                String timeSchdule = "";
                if (!CronExpression.IsValidExpression(cron))
                {
                    return "Cron is Illegal!";
                }
                try
                {
    
                    ITrigger trigger1 = TriggerBuilder.Create()
    
                    .WithCronSchedule(cron).StartAt(DateTime.Now)
                    .Build();
                    DateTimeOffset? LastTime = startTime;
                    Console.WriteLine(LastTime.ToString());
                    for (int i = 0; i < times; i++)
                    {
                        DateTimeOffset? s = trigger1.GetFireTimeAfter(LastTime);
                        LastTime = s;
                        Console.WriteLine(((DateTimeOffset)s).AddHours(8).ToString());
                    }
                }
                catch (Exception e)
                {
                    timeSchdule = "unKnow Time!";
                }
                return timeSchdule;
            }
    

      调用:

                GetCronSchdule("/5 * * ? * *", 10, DateTime.Now);

     如果是简单表达式,代码如下:

                ITrigger trigger1 = TriggerBuilder.Create()
                                            .WithIdentity("触发器名称", "触发器组")
                                            .StartAt(DateTime.Now.AddSeconds(180))
                                            .EndAt(DateTime.Now.AddMinutes(10))//现在开始
                                            .Build();
    
                var ds = trigger1.GetFireTimeAfter(DateTime.Now);
                Console.WriteLine(((DateTimeOffset)ds).ToString());
  • 相关阅读:
    Linux防火墙配置(iptables, firewalld)
    利用RMAN恢复整个数据库
    RMAN常用命令汇总!
    Oracle RMAN 恢复数据库到不同主机(二)
    Oracle RMAN 恢复数据库到不同主机(一)
    linux sar命令详解
    Linux定时任务Crontab命令详解
    Win7 U盘安装Ubuntu16.04 双系统详细教程
    linux定时任务crontab
    linux服务器端口netstat
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/14543591.html
Copyright © 2011-2022 走看看