jjzjj

PHP 逻辑,与特定日期进行比较

coder 2024-05-03 原文

我需要编写一个 php 脚本来确定用户必须根据注册日期支付的金额。他们注册得越晚,支付的费用就越多,所以这里是脚本的基本代码:

private $date;

function __construct() {
    $this->date = getdate();
}

function get_amount()
{
    $day = $this->date["mday"];
    $month = $this->date["month"];
    $year = $this->date["year"];
    $date = $day.$month.$year;
    switch($date) {
        case "26October2012":
            return "800";
            break;
        case "26Novermber2012":
            return "900";
            break;
    }
}

但显然这个 case 语句不能正常工作。因此,如果用户在 2012 年 10 月 26 日之前注册,那么他们将支付 800,如果是在 11 月 26 日之前但在 10 月 26 日之后,那么他们将支付 900。那么我该如何编写该逻辑呢?

最佳答案

只需将您的日期转换为 Unix 时间戳,然后进行比较,即可使整个过程变得更加简单。 引用 strtotime 功能。

$compare_date = "2012-10-26";
$todays_date = date("Y-m-d");

$today_ts = strtotime($todays_date);//unix timestamp value for today
$compare_ts = strtotime($compare_date);//unix timestamp value for the compare date

if ($today_ts > $compare_ts) {//condition to check which is greater
   //...
}

strtotime 将您的日期时间转换为整数 Unix Timestamp. Unix 时间戳定义为自 1970 年 1 月 1 日协调世界时 (UTC) 午夜以来经过的秒数。因此,作为一个整数,很容易比较,无需字符串操作。

关于PHP 逻辑,与特定日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081625/

有关PHP 逻辑,与特定日期进行比较的更多相关文章

  1. javascript - moment.js - 显示日期或时间 - 2

    在我正在构建的页面上,要求显示日期(例如:8月15日),或者如果日期是今天,则只显示时间,例如:晚上10点。从moment.js中诱导这种行为的最佳方法是什么?我希望日期格式为“dMMM”,时间格式为“hA”(如果分钟为0)或“h:mmA”(如果分钟不为0)。关于如何处理这个问题有什么想法吗?看起来calendar()函数可能能够支持类似的东西? 最佳答案 您想使用moment.calendar:将除sameDay之外的所有内容都设置为dMMMM并将sameDay设置为h:mmA。没有比这更精细的了。functiontimeToda

  2. javascript - 在 Google Map API V3 中显示特定信息窗口 - 2

    我写了下面的代码来显示标记。有2个按钮显示标记的下一个或上一个信息窗口。但问题是InfoWindows未使用google.maps.event.trigger显示有人可以帮我解决这个问题吗?谢谢你。这是代码:<html><head><metaname="viewport"content="initial-scale=1.0,user-scalable=no"/><metahttp-equiv="content-type"content="text/html;charset=UTF-8

  3. javascript - 无论用户的时区如何,如何始终将日期设置为东部时间 - 2

    我有一个服务器给我的unix时间日期:1458619200000注意:您标记为“重复”的其他问题没有显示如何从UNIXTIME到达那里。我正在寻找javascript中的特定示例。但是,我发现根据我所在的时区,我会得到两种不同的结果:d=newDate(1458619200000)MonMar21201621:00:00GMT-0700(PacificDaylightTime)//现在我将我的计算机设置为东部时间,我得到了不同的结果。d=newDate(1458619200000)TueMar22201600:00:00GMT-0400(EasternDaylightTime)那么我怎

  4. javascript - 禁用对 UI-Grid 中特定列的过滤 - 2

    我的网格中有一列包含多个按钮。我只想禁用该列中的过滤功能。例如,过滤应该在办公室电话中可用,但它必须在操作列中禁用。我想删除Actions列中的文本框。 最佳答案 您可以在Actions字段上设置enableFiltering:false例如:{field:'',enableFiltering:false} 关于javascript-禁用对UI-Grid中特定列的过滤,我们在StackOverflow上找到一个类似的问题: https://st

  5. javascript - 如何打开特定选项卡处于事件状态的 Bootstrap 模式 - 2

    我试图根据点击的链接打开Bootstrap模式中的选项卡。无论我尝试过什么,它只会在第一个选项卡上打开。两个链接如下:<ahref="#tab-mileage"data-toggle="modal"data-target="#buyers-report-modal">Mileage</a><ahref="#tab-wrong-vehicle"data-toggle="modal"data-target="#buyers-report-modal">Wron

  6. javascript - Highcharts - 删除日期时间 x 轴类型上日期之间的时间 - 2

    我想在我的Highcharts图表上只显示日期而不是时间作为标签。我该怎么做?Here'sanexamplejsFiddle. 最佳答案 你应该设置xAxis.minTickIntervalxAxis:{minTickInterval:24*3600*1000}jsFiddle1jsFiddle2我强烈建议您浏览大量有用的highchartsapireference在发布问题之前 关于javascript-Highcharts-删除日期时间x轴类型上日期之间的时间,我们在Stac

  7. javascript - 1970 年 1 月 1 日之前的日期? - 2

    我正在尝试编写一个javascript函数来计算自1910年10月11日以来的时间,这样我就可以将它放入我正在从事的项目的计时器中。我从epoc得到了javascript的毫秒数,但我没有也找不到一种方法来获取自1970年1月1日之前的日期以来的毫秒数是否有人愿意分享可以执行上述操作的松散代码? 最佳答案 varoldGoodTimes=newDate(1910,9,11);//January=0varactualDate=newDate();console.log(actualDate.getTime()-oldGoodTimes

  8. javascript - React - 仅特定键的状态更新值 - 2

    我正在尝试使用React进行试验,我遇到了更新特定键的状态值的问题。这是我的状态this.state={connections:{facebook:"http://facebook.com",flickr:null,foursquare:null,googleplus:null,id:0,instagram:"http://instagram.com/",openstreetmap:null,pinterest:null,place_id:1,tomtom:null,tripadvisor:null,twitter:"http://twitter

  9. javascript - 如何使 Pikaday 日期选择器始终可见 - 2

    我正在使用Pikadayjavascriptdatepicker.默认功能是将其附加到输入,点击输入将加载日期选择器,其位置将相对于输入。我想要的是使用这个库来显示一个始终可见的日历。我尝试了几件事但没有成功,例如将它附加到div。我希望能够始终显示它并能够控制它的位置。有什么想法吗? 最佳答案 起初,我也实现了一个hacky解决方案,但后来我找到了一种使Pikaday日期选择器始终可见的常规方法:varpicker=newPikaday({field:document.getElementById('datepicker&

  10. javascript - jQuery UI - 将 jQuery UI 日期选择器转换为 UNIX 时间 - 2

    我正在使用带有时间插件的jQueryUI日期选择器。这是我在日期选择器本身的页面上显示时间的方式:21.06.201208:00我想在发送到后端之前将这个时间转换为UNIX时间戳。我怎样才能做到这一点?我不需要在页面上显示UNIX时间,我只需要在发布前转换。我试过:vard=Date.parse(value_of_datepicker);但运气不好。似乎日期应该以另一种方式格式化。我也尝试了几个内置的日期选择器函数,但它们都设置了日期显示View。谢谢。 最佳答案 如果您使用TrentRichardson的jQuerytimepic

随机推荐

  1. javascript - 您可以创建低于 271800 BC 的日期吗?像恐龙时代? - 2

    这是我对javascript日期的最低要求:varmyDate=newDate(0,0,1);myDate.setFullYear("-271800");alert(myDate);任何低于-271,800BC的日期都会引发无效日期错误。我们能回到一百万年前吗?还是十亿?日期对象可以让你描述无限过去或future的任何日期吗?我该如何做这样的事情? 最佳答案 表示一百万年前的特定日期让我觉得毫无意义。儒略历?星期几应该遵守Babylonian系统?为此创建您自己的类型,确定您实际需要表示的内容。---更新:这已被接受

  2. javascript - Ruby 1.9 和 Javascript 正则表达式之间的区别 - 2

    除了Javascript的^和$等同于Ruby的\A和\z之外,还有什么其他微妙之处这两个正则表达式引擎有什么区别?我正在寻找相同正则表达式可能表现不同的细微差异,例如/^abc$/将在Ruby中匹配:123abcdef但它不会在Javascript中匹配。 最佳答案 Ruby支持但JavaScript不支持的特性:\a(响铃)\e(转义)\A(字符串开始)\Z(字符串结尾,最后一个换行符之前)\z(字符串结尾)转发引用\1到\9对失败组的反向引用也失败(?>regex)(原子组)\G(匹配尝试开始)(?#comment)支持自由间

  3. javascript - WebGL 几何着色器等效? - 2

    我目前正在研究一种在webgl中生成非真实感渲染的方法。到目前为止,我发现的用于边缘检测的最好看的算法是使用OpenGL的几何着色器实现的,here.特别是GL_TRIANGLES_ADJACENCY。我想知道WebGL中是否有等效项,甚至我将如何将此代码移植到Javascript。 最佳答案 几何着色器在WebGL中不可用。然而,有很多方法可以进行边缘检测。例如。您可以使用基于图像空间的算法,例如http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.9731&

  4. JavaScript 如果 var 存在 - 2

    我想要我的代码,这样如果一个特定的变量存在,它就会执行一个Action,否则它将被忽略并继续前进。我的代码的问题是,如果特定的var不存在,它会导致错误,大概会忽略JavaScript代码的其余部分。例子varYouTube=EpicKris;if((typeofYouTube)!='undefined'&&YouTube!=null){document.write('YouTube:'+YouTube);}; 最佳答案 try{if(YouTube){console.log("

  5. javascript - 使用 Resharper 测试运行程序时如何在我的 qunit 测试中设置断点 - 2

    使用Resharper6可以编写qunit测试并使用集成的resharper测试运行器运行这些测试是一件很棒的事情。但是,我想知道是否可以在测试和被测代码中设置断点。问题是,每次打开浏览器时,它都会使用不同的随机端口号,这意味着您不能只在浏览器中设置断点并通过按F5重新运行测试。所以我想知道,是否有可能以某种方式实现? 最佳答案 使用Resharper和VisualStudio的更简单方法。只需在js文件的第一行输入:QUnit.moduleDone=function(){}Resharper测试不会完成,您可以根据需要在浏览器中多

  6. javascript - 为什么 JavaScript 中的参数前面没有 var 关键字? - 2

    这可能是个愚蠢的问题,但为什么JavaScript中的函数参数前面没有var关键字?为什么:functionfooAnything(anything){return'foo'+anyThing;}而不是:functionfooAnything(varanything){return'foo'+anyThing;}我感觉答案是因为规范就是这么说的,但仍然... 最佳答案 大多数动态类型编程语言没有在参数列表中有明确的变量。var关键字的目的是区分“我正在设置一个现有变量”和“我正在创建一个新变量”,如v

  7. JavaScript AJAX 远程记录器 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion我在不支持日志输出的平台上开发JavaScript应用程序,不允许为记录器输出打开新窗口,并且上面没有Firebug或Safari调试器...到目前为止,我使用的是floating<div>在z-index2我在里面记录了文本,但这还不够。我正在寻找一些轻量级的JavaScriptJSONP记录器和一些PHP或Tomcat服务器对应物......

  8. Javascript 原型(prototype)属性无法按预期使用数组和对象字段 - 2

    我使用以下代码得到了意想不到的结果:varTestModel,u,u2;functionTestModel(){}TestModel.prototype.a=null;TestModel.prototype.b=[];u=newTestModel();u.a=1;u.b.push(1);u2=newTestModel();u2.a=2;u2.b.push(2);console.log(u.a,u.b);//outputs:1[1,2]console.log(u2.a,u2.b);//outputs:2[1,2]令我惊讶的是u.b和u2.b包含相同的值,尽管TestModel的每个实例都

  9. javascript - javascript 语句中是否必须使用分号? - 2

    这个问题在这里已经有了答案:DoyourecommendusingsemicolonsaftereverystatementinJavaScript?(11个答案)关闭7年前。我想知道,这合法吗?functiontest(){alert("hello")$("#loading").show();}或者我应该这样写:functiontest(){alert("hello");$("#loading").show();}分号在JavaScript中是可选的吗?因为我在论坛上看到了这个:No,semicolonsareusual

  10. javascript - ajax post 有大小限制吗? - 2

    我正在通过Ajax将ckeditor内容发布到php。但是在我的数据库表中得到4-5句话的发布Material。我想知道,ajaxpost有大小限制吗?有什么办法可以通过ajax发布大文本内容吗?我的js看起来像那样functionpostViaAjax(autosaveMode){varname=$("#name").val();vartitle=$("#title").val();varmenu=$("#menu").val();varparentcheck=$(".parentcheck:checked").val(