Language agnostic 是否有一种方法可以定义配置流程的时间间隔?

Language agnostic 是否有一种方法可以定义配置流程的时间间隔?,language-agnostic,datetime,Language Agnostic,Datetime,措辞可怕的问题……我知道 我正在开发一个处理前一天数据的应用程序。问题是,我知道客户最终会每隔一个小时或其他任意的时间间隔问一次。我知道Java或SQL等语言都有定义日期的掩码。那么定义时间间隔的方法呢 让我这样问吧。如果有人要求您创建一个可配置的软件,您将如何允许用户指定时间间隔 更新 我要找的是文本表示。想象一下将被放入配置文件中的某个东西。我不确定是否正确理解了您的问题。您是否在寻求输入时间间隔的方法 我不知道您的环境,但大多数语言框架都提供一些或多或少复杂的GUI组件。像日历控件这样的东

措辞可怕的问题……我知道

我正在开发一个处理前一天数据的应用程序。问题是,我知道客户最终会每隔一个小时或其他任意的时间间隔问一次。我知道Java或SQL等语言都有定义日期的掩码。那么定义时间间隔的方法呢

让我这样问吧。如果有人要求您创建一个可配置的软件,您将如何允许用户指定时间间隔

更新


我要找的是文本表示。想象一下将被放入配置文件中的某个东西。

我不确定是否正确理解了您的问题。您是否在寻求输入时间间隔的方法

我不知道您的环境,但大多数语言框架都提供一些或多或少复杂的GUI组件。像日历控件这样的东西可能就是你想要的

编辑:啊,是命令行(或配置文件)

  • 你能解析XML文件吗?在这种情况下,您可以序列化timespan(大多数语言都有这样的类)。用户可以编辑XML文件,通常只是替换
    部分的值。反序列化此XML文件以再次获得时间跨度很容易

  • 如果您更喜欢纯文本或命令行输入,那么就不那么容易了。但是,许多语言支持某种类型的Timespan.Parse(字符串文本、字符串格式)。您应该看看您的环境中是否存在此概念

  • 许多环境提供某种类型的sscanf(),用于解析输入字符串。有时也有“时间”格式

  • 如果前面的想法没有提供解决方案,您可以尝试使用regex解析日期。本网站和网站上都应该有很多关于这个主题的资源

  • 如果不喜欢正则表达式,请根据自己的格式规则拆分输入字符串。但这是一个丑陋的解决方案

  • 如果您不想手工严格地分割用户输入,请使用Random.NextInt(1000)并希望没有人注意到。0:-)


    • 以下是Google App Engine的cron API的配置方式,它比
      cron
      更易于使用:

      SDK中应该提供实现它的Python(和Java?)源代码。我还没有看到提取有多容易,但它至少应该提供一些想法

      我认为可以根据需要向格式中添加各种内容——它的结构足以扩展。例如,它目前缺少“每小时4分钟过去”的功能,这在UNIX
      cron
      中很常见,但实际上与GAE无关,因为尽管引擎可能会找出哪些分钟忙,哪些分钟不忙,并平衡负载,但用户肯定不能


      显然,向普通用户提供类似于自然语言的东西的主要缺点是,他们会认为你的代码是通灵的,并期望它也能理解诸如“复活节后一周以外的每一个星期三”或“每当时钟改变时”;-)

      说得好……我不是很清楚。我正在寻找一些定义间隔的文本方法。一些可以被解析和解释为定义间隔的东西。@Downvoter:我真的很想知道为什么这篇文章没有帮助。只要给我写个便条,我会看看我是否能改进它。这没有什么帮助,因为它没有建议使用基于文本的方法来配置调度器。我指定的回答这个问题的帖子为我指明了Cron表达式的方向,这正符合我的需要。事实上,我最终使用了cron表达式,在我的最终实现中做了一点小小的调整。你不同意吗?你发布了哪种解决方案可以解决我的问题?当然,我在最初的帖子中说我的问题措辞拙劣。我并不是说你的想法不好,只是不适用于我的问题。我仍然不明白,如果它们是针对你的问题的,而且不坏,那么为什么-1:'(但好吧,这是你的决定,不再抱怨了。