小编Mic*_* Wu的帖子

PHP date()和strtotime()在31日返回错误的月份

我正在使用date()strtotime()功能在下拉列表中显示接下来的3个月.

PHP代码:

   echo date("m/Y",strtotime("+0 months")); 
   echo date("m/Y",strtotime("+1 months"));
   echo date("m/Y",strtotime("+2 months")); 
Run Code Online (Sandbox Code Playgroud)

但是,如果脚本在服务器日期为30或31时运行,则下个月(即2月)将显示为3月.即上面的脚本应该返回

01/2012
02/2012
03/2012
Run Code Online (Sandbox Code Playgroud)

但是,它实际上显示了,而不是那样

01/2012
03/2012
03/2012
Run Code Online (Sandbox Code Playgroud)

那是因为2月没有30或31,所以脚本将"31/02"翻译成"01/03".

我已经strtotime()在php.net上阅读了这个页面,这个问题已经提出,但是还没有任何有用的解决方案.那么有人可以帮我找一个解决这个问题的简单方法吗?提前致谢!

php date strtotime

13
推荐指数
3
解决办法
1万
查看次数

如果内容超出特定限制,PHP电子邮件会中

我正在使用PHP mail()发送每日通知电子邮件.

但我注意到,如果存储邮件内容的字符串太长,电子邮件将被中断,即只有部分内容将显示在收到的电子邮件中.

内容字符串很短时,电子邮件将完成.因此,似乎PHP对字符串的长度有一些限制.

我试图用来echo $content;显示存储内容的字符串,内容在浏览器中完成.但是当电子邮件中发出相同的字符串时,它会被中断.

任何人都可以帮我解决这个问题吗?提前致谢!

html php string email

4
推荐指数
1
解决办法
552
查看次数

Google Map V3 - 一次只允许显示一个信息框

我移动infoWindowinfoBox了更好看的信息窗口.

我在地图上有很多标记.我想要做的是当一个infoBox已经打开时,如果用户点击其他标记,当前infoBox将自动关闭并且new infoBox将打开,以便用户不需要关闭当前infoBox,并且将始终只infoBox显示一个一时间

这是我当前解决方案的演示和代码 http://jsfiddle.net/neo3000ultra/9jhAy/

提前致谢!

google-maps google-maps-api-3

4
推荐指数
1
解决办法
8313
查看次数

使用PHP将Excel日期编号转换为Unix时间戳时不匹配

嗨〜我正在使用PHPExcel 1.7.7读取XLSX文件并在网页中显示结果.

我正在尝试获取存储日期和时间字符串的单元格的值,并使用以下代码在PHP中处理它.

<?php

date_default_timezone_set('Australia/Canberra'); 

$value = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();

define('MIN_DATES_DIFF', 25569);
define('SEC_IN_DAY', 86400);

function excel2Timestamp($excelDate)
{
  if($excelDate <= MIN_DATES_DIFF)  
  {
     return 0;
  }

  return ($excelDate - MIN_DATES_DIFF) * SEC_IN_DAY;
}

echo $result = date('H:i:s d/m/Y', excel2Timestamp($value)); 

?>
Run Code Online (Sandbox Code Playgroud)

虽然单元格中的原始值是"00:00:00 01/07/2012",而不是给我正确的结果,上面的PHP代码的输出显示"10:00:00 01/07/2012".

它似乎是由时区差异引起的,但我已经在代码的开头定义了时区.不知道它有什么问题.

有人可以帮我吗?提前致谢.

php timezone date phpexcel

3
推荐指数
1
解决办法
1135
查看次数