检查工作日是否在字符串中的工作日之间

埃米尔·厄斯特维格

所以我有一个工作日列表,我需要检查它们是否是当日。该列表在“星期一/星期二”和“星期三-星期五”之间有所不同

我当前的解决方案是字符串比较,因此它仅检测当前的工作日是否写在列表项中。

这是当前的解决方案(在PHP btw中):

setlocale(LC_ALL, "danish");
$day = get_sub_field('dag'); // the field containing the user input day
$currentDay = strftime('%a', mktime());
$currentDayLower = strtolower($currentDay);
$dayLowercase = strtolower($day);

$class = '';

if(strpos($dayLowercase, $currentDayLower) !== false ){
    $class = ' current-day';
} else{
    $class = '';
}

我正在考虑将所有工作日组成一个数组,并将用户字段与该数组中的当前日期位置进行比较,但是我不确定这是否有效或什至可行。

是否有任何明显的方法或替代方法可能比我目前正在做的事情容易?

任何输入,不胜感激。

编辑:

我找到了一个可行的解决方案,并将其发布为答案(尽管我无法在两天内选择它作为答案)。感谢您的投入!

埃米尔·厄斯特维格

因此,正如我所发现的,从丹麦工作日字符串中创建日期时间相当复杂。从英语,格式到丹麦语要容易得多。

因此,我必须通过将你们的部分答案缝合在一起来使它有所不同。

<?php while ( have_rows('aabningstider_repeater', 'option') ) : the_row();
// vars
$day = get_sub_field('dag');
$timer = get_sub_field('aabne_timer');

$dayLower = strtolower($day);

$weekArray = array('mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag', 'søndag' );
$dayArray = preg_split('/[\s,-]+/', $dayLower);

$today = date('w') - 1;

$class = '';

if(is_array($dayArray)){

    $days = [];
    foreach ($dayArray as $daySingle ) {
        array_push($days, array_search($daySingle, $weekArray));
    }

    if($today > $days[0] && $today < $days[1]){     
        $class = ' current-day in-between-days';

    } elseif($today == $days[0] || $today == $days[1]){
        $class = ' current-day';

    } else{
        $class = '';
    }
} 

endwhile; ?>

我很确定这将一直有效,直到有一天我发现一个重大缺陷。在那之前,它会做。

任何反馈或优化,我们将不胜感激。并感谢您的所有投入!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查当前工作日是否在给定的工作日范围之间?

来自分类Dev

工作日为字符串到数字

来自分类Dev

如何对工作日字符串数组进行排序?

来自分类Dev

工作日为字符串到数字

来自分类Dev

Swift 将工作日输出为字符串

来自分类Dev

如何从 DateTime 字符串中检索月、月日、工作日和小时?

来自分类Dev

时间和工作日的两个字符串之间的差异

来自分类Dev

从C ++ 11中的日期字符串开始的工作日

来自分类Dev

为什么SimpleDateFormat无法在日期字符串中解析工作日?

来自分类Dev

如何摆脱字符串中的所有“工作日单词”

来自分类Dev

从Objective C中的字符串开始的日期为工作日

来自分类Dev

为什么SimpleDateFormat无法在日期字符串中解析工作日?

来自分类Dev

如何摆脱字符串中的所有“工作日单词”

来自分类Dev

NSArray与工作日

来自分类Dev

计算工作日

来自分类Dev

工作日之间的周末 SQL

来自分类Dev

在日期时间列中查找日期名称,用户输入为工作日名称作为“字符串”

来自分类Dev

`DateTime.strptime`返回工作日/时间字符串的无效日期

来自分类Dev

Django ORM从查询集中将工作日提取为字符串

来自分类Dev

JavaScript / jQuery:获取日期字符串的数字工作日值

来自分类Dev

匹配字符串中所有工作日名称的正则表达式

来自分类Dev

将带时区的日期字符串转换为仅工作日和日期

来自分类Dev

从Android中的CalendarView获取工作日

来自分类Dev

在python中添加工作日

来自分类Dev

从 DataFrame 中删除 Python 工作日

来自分类Dev

工作日功能添加工作日

来自分类Dev

为什么工作日以德语返回工作日?

来自分类Dev

SQLite strftime()工作日

来自分类Dev

工作日SQL查询

Related 相关文章

热门标签

归档