草庐IT

php - 根据开始时间格式化事件

coder 2023-06-15 原文

仍在开发我的计划程序/日历应用程序。我快完成了,我完成了一些较难的部分,但我被困在了一个更困难的部分。我想根据开始时间在网格中显示我的事件。

这张照片中没有显示,但假装在 25 号左侧有一列时间(上午 8 点至晚上 11 点左右)。如果一个事件开始于……比如说,下午 1 点,我希望它显示在页面中间的某个地方。如果事件在上午 8:30 开始,则它应该在上午 8 点到 9 点之间显示。

我想我可以用表格做到这一点,但我想知道是否有其他方法。这是否可以使用纯 html/css,也许是一些 Javascript?关于实现此目标的最佳方法有什么建议吗?如果我使用表格,我仍然不确定最好的方法是什么。每三十分钟一个细胞?我可以从我的 View 中访问每个事件的开始和结束时间。事件数组(在本例中为第 25 个)如下所示:

Array

[1] => Array
    (
        [title] => Ethiek
        [description] => Ethiek: Opdracht 1
        [time_start] => 11:30:00
        [time_end] => 12:00:00
    )

[2] => Array
    (
        [title] => Project Management
        [description] => Test: Project Management
        [time_start] => 15:00:00
        [time_end] => 16:00:00
    )

[event_count] => 2

我很感激你能给我的任何建议。非常感谢!

编辑:开始为此悬赏,因为我仍然卡住了,我会很感激一些反馈。

更新:

我一直为此伤脑筋,老实说,我想不出最好的方法。首先,我认为我被卡住的原因是我从数据库/数组中读出我的事件的方式。这是我必须显示屏幕截图中所见事件的代码,不要介意我的复杂数组:

        foreach($details[0] as $key => $detail)
    {
        echo "<div class='grid'>";
        $header = "<p class='detail_header'>";
        $header .= ucfirst($dates[0][$key]['name']) . ", " . $key . " " . $init['curr_month_name'];
        $header .= "<img src='" . base_url() . "assets/images/create_event.png' alt='Plan iets'></p>";

        echo $header;

        for($i = 1; $i <= $details[0][$key]['event_count']; $i++)
        {
            echo "<div class='event " . $details[0][$key][$i]['type'] . "'>";
                echo "<p class='event_title'>" . $details[0][$key][$i]['title'] . "</p>";
                echo $details[0][$key][$i]['description'];
            echo "</div>";
        }
        echo "</div>";  

    }

有点乱,更何况我还有一次相同的代码来修复一些异常。但更重要的是..我觉得那些循环不允许我对其进行大量修改。我尝试为 AM 和 PM 添加两个 div,这样我就可以将事件分成中午之前和下午的时间段,然后只显示事件的时间(以避免必须处理一千个 15 分钟的时间段)。但是,是的.. 这没有成功,因为如果下午有多个事件,它会放置几个“PM”div。

我很想暂时保留它,只在事件 div 中显示开始/结束时间。直到我找到更好的方法从数组中读取它们并显示它们。

感谢任何帮助/建议。谢谢。

最佳答案

其实我现在也在做这个。我的解决方案是使用 960.gs -像div。

首先,我定义了一系列常量:显示开始时间、显示结束时间、每小时列数、总列数。就我的应用而言,这些变量可由用户配置。

其次,我查询了一系列我需要处理的事件。其中包括开始时间和结束时间,以及我要显示的详细信息。我将使用 jQuery QTip弹出悬停的详细信息,因此填充这些的数据也包含在此查询中。

现在,960.gs 概念。网格的基础是知道您有 X 空间来显示您的内容……960 是 960 像素。我的更习惯,但这提供了概念。您可以将其除以相当多的数字,这将成为如何拆分网格的基础。使用这种方法,我可以轻松地定义从 grid_1 到 grid_4 的列,并且它的宽度将占总宽度的相应百分比(即在 16 列布局上执行 4 列 div 将覆盖 25%)它是交叉的浏览器兼容,并且不需要明显数量的清晰 div。您只需将数字相加以匹配您要使用的列数。

现在,我开始计算每一列代表多少时间。我每天使用 foreach 循环进行汇总:我从显示开始时间的小时开始并递增。如果事件的 start_time 等于增量器,我将启动一个根据我的着色标准适当设置样式的 div。同样,如果我的结束时间 <= 增量器,我将停止="" div="" 并在="" id="" 中定义列的宽度。显然,在循环结束时,我执行了一个="">

我的想法是在每周类型的日历的时间基础上执行此操作。但总体思路可以很容易地修改为月历甚至日历。

表格确实使这更容易(第 1 版是表格),但如果您有耐心,可以用任何一种方式完成。

关于php - 根据开始时间格式化事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5779290/

有关php - 根据开始时间格式化事件的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  3. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

  4. ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS - 2

    这个问题在这里已经有了答案:Railsformattingdate(4个答案)关闭4年前。我想格式化Time.Now函数以显示YYYY-MM-DDHH:MM:SS而不是:“2018-03-0909:47:19+0000”该函数需要放在时间中.现在功能。require‘roo’require‘roo-xls’require‘byebug’file_name=ARGV.first||“Template.xlsx”excel_file=Roo::Spreadsheet.open(“./#{file_name}“,extension::xlsx)xml=Nokogiri::XML::Build

  5. ruby - 查找字符串中的内容类型(数字、日期、时间、字符串等) - 2

    我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s

  6. ruby - 我可以将我的 README.textile 以正确的格式放入我的 RDoc 中吗? - 2

    我喜欢使用Textile或Markdown为我的项目编写自述文件,但是当我生成RDoc时,自述文件被解释为RDoc并且看起来非常糟糕。有没有办法让RDoc通过RedCloth或BlueCloth而不是它自己的格式化程序运行文件?它可以配置为自动检测文件后缀的格式吗?(例如README.textile通过RedCloth运行,但README.mdown通过BlueCloth运行) 最佳答案 使用YARD直接代替RDoc将允许您包含Textile或Markdown文件,只要它们的文件后缀是合理的。我经常使用类似于以下Rake任务的东西:

  7. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  8. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  9. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  10. ruby-on-rails - 事件记录 : Select max of limit - 2

    我正在尝试将以下SQL查询转换为ActiveRecord,它正在融化我的大脑。deletefromtablewhereid有什么想法吗?我想做的是限制表中的行数。所以,我想删除少于最近10个条目的所有内容。编辑:通过结合以下几个答案找到了解决方案。Temperature.where('id这给我留下了最新的10个条目。 最佳答案 从您的SQL来看,您似乎想要从表中删除前10条记录。我相信到目前为止的大多数答案都会如此。这里有两个额外的选择:基于MurifoX的版本:Table.where(:id=>Table.order(:id).

随机推荐