开发者

Date Calculation

开发者 https://www.devze.com 2023-02-24 11:01 出处:网络
i have a form with a fix date and time entry. (eg: 23:30 - 04/14/2011) i have a second time entry. (eg: 00:15 - the Next Day)

i have a form with a fix date and time entry. (eg: 23:30 - 04/14/2011)

i have a second time entry. (eg: 00:15 - the Next Day)

how can i calculate the Date of the second entry time. with only on these 3 variables.

Time A = 23:30 on the 04/14/2011 Time B = 00:15 on the ____ ?

Can anyone show me the semantics of this c开发者_如何学JAVAalculation how to find the Date of Time B!

Thanks


I can see a couple of ways of doing this. I would probably do something like this:

In HTML (missing form controls, labels etc):

<input name="date_from" type="text"> <!-- use some sort of javascript date popup control to format this properly-->
<input type="text" name="hours_to"> <!-- remember to add validation to input -->
<input type="text" name="mins_to"> <!-- remember to add validation to input -->
<select name="day_to">
<option value="0">The same day</option>
<option value="1">The next day</option>
<option value="2">The day after that</option>
</select>

Then in your PHP form handler, assuming date_from is in a valid date format:

$time_from = strtotime($_POST['date_from']);
$time_to = str_to_time('Y-m-d 00:00:00', $time_from)    //start of the day
    + 86400 * (int) $_POST['day_to']   //86400 seconds in a day
    + 3600 * (int) $_POST['hour_to']   //3600 seconds in an hour
    + 60 * (int) $_POST['min_to'];     //60 seconds in a minute

$sql_from = date("Y-m-d H:i:s", $time_from);
$sql_to = date("Y-m-d H:i:s", $time_to);

Then you can do your db insert, subject to validations etc of course.

Also, strtotime() can accept relative time parameters (e.g. '+ 1 day') which might be another way of doing this, check the PHP manual for more info


    var date1 = '23:30 - 04/14/2011';
    var date2 = '00:15 - the Next Day';
    var d1month = date1.split(' - ')[1].split('/')[0];
    var d1day = date1.split(' - ')[1].split('/')[1];
    var d1year = date1.split(' - ')[1].split('/')[2];
    var d1hour = date1.split(' - ')[0].split(':')[0];
    var d1min = date1.split(' - ')[0].split(':')[1];

    var d2hour = date2.split(' - ')[0].split(':')[0];
    var d2min = date2.split(' - ')[0].split(':')[1];

    var d = new Date(d1year, parseInt(d1month)-1, d1day, d1hour, d1min, 0, 0);
    var d2 = new Date(d1year, parseInt(d1month)-1, parseInt(d1day)+1, d2hour, d2min, 0, 0);
0

精彩评论

暂无评论...
验证码 换一张
取 消