① php获取当前时间、年份、月份、日期和天数
获取当前时间、年份、月份、日期和天数是PHP编程中常用的实践。PHP提供了多种函数来处理时间日期的获取与格式化。下面将详细介绍PHP中获取和格式化时间日期的常用方法。
获取当前时间主要依赖于PHP的`Date()`函数,该函数能够将时间戳转换为易读的日期与时间格式。函数语法如下:
`Date(format, timestamp)`
其中,`format`参数用于指定输出的日期格式,而`timestamp`参数可选,用来指定时间戳,默认为`time()`函数返回的当前时间戳。
格式化参数`format`涵盖了一些常用日期字符,如:
`Y`表示完整四位数的年份(例如2019);
`y`表示两位数的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三个字母的月份(例如Jun);
`m`表示带前导零的月份(例如04);
`n`表示无前导零的月份(例如4);
`d`表示带前导零的日期(例如01-31);
`j`表示无前导零的日期(例如1-31);
`D`表示星期的3字母缩写(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第几天(例如0表示星期天);
`W`表示一年中的第几周;
`z`表示一年中的第几天(例如0-366);
通过`Date()`函数,我们可以轻松获取和格式化日期与时间。例如,以下代码将输出当前的中文日期:
运行结果:今天是:2019年04月24日
获取简单的时间同样依赖于`Date()`函数,但我们需要使用一些特定的格式化参数。例如,以下是用于获取时间的常用字符:
`H`表示24小时格式,有前导零(例如08,18);
`h`表示12小时格式,有前导零(例如06,11);
`G`表示24小时格式,无前导零(例如9,17);
`g`表示12小时格式,无前导零(例如6,12);
`i`表示分钟,有前导零(例如00-59);
`s`表示秒,有前导零(例如00 -59);
`A`表示大写的午前和午后(例如AM 或 PM);
`a`表示小写的午前和午后(例如am 或 pm);
`I`表示是否为夏令时;
在获取时间的实例中,下面的代码将输出当前的完整时间:
运行结果:今天是:2019年04月24日 16:34:58 PM
获取时区时,可以通过设置时区参数来确保准确的时间。例如,将时区设置为"Asia/Shanghai",则代码如下:
运行结果:当前时间是:2019年04月24日 16:34:58 PM (上海时区)
为了获取日期信息,可以使用`getdate()`函数。这个函数返回一个数组,包含指定的日期和时间信息,如果没有给出时间戳,则输出本地当前的日期和时间。函数声明如下:
array getdate(int timestamp);
如果需要验证日期的正确性,在程序开发中,可以使用`checkdate()`函数来检查输入的日期是否有效。如果日期有效,返回`true`,否则返回`false`。函数声明如下:
bool checkdate(int month, int day, int year);
时间戳的获取可以通过`time()`函数实现,该函数返回当前时间戳。函数声明如下:
int time();
创建日期时,可以使用`mktime()`函数与`date()`函数。`mktime()`函数返回日期的Unix时间戳,而`date()`函数则用于将时间戳转换为可读的格式。函数语法如下:
时间戳时间的实例代码如下:
运行结果:创建日期是:2015-06-10 09:12:31 AM
通过字符串创建日期时,可以使用`strtotime()`函数。这个函数可以将人类可读的字符串转换为Unix时间戳,从而实现日期和时间的创建。函数语法如下:
字符串时间的实例代码如下:
运行结果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函数可能不完全准确,因此应检查输入的字符串是否正确。
更多日期实例,例如输出下周六的日期和输出七月四日之前的天数,可以使用`Date()`函数配合其他日期相关函数实现。例如,以下代码展示了输出下周六的日期:
实例代码如下:
运行结果:2019年04月27日
输出七月四日之前的天数的实例代码如下:
运行结果:2019年07月01日
在网站中自动更新版权年份时,可以使用`Date()`函数。以下是一个示例代码,用于在网站上自动更新年份:
实例代码如下:
运行结果:版权所有 © 2019
通过以上介绍,我们可以了解到PHP中获取与格式化时间日期的多种方法,这对于处理时间相关问题非常有用。确保正确使用这些函数,可以提高代码的效率与准确性。希望这些信息能对您在PHP编程中处理时间日期问题有所帮助。
② 5.3不支持 mssql ,所有要用到以前的版本,官网好像只有5.3及以上版本;要用php5.3必须要用sqlsrv.dll吗
如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。这是一个自解压文件,解压后会得到以下几个文件:
php_sqlsrv_52_nts_vc6.dll
php_sqlsrv_52_ts_vc6.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
php_sqlsrv_license.rtf
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_Readme.htm
其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非线和安全,ts表示线程安全;vc6表示使用Apache作为Web Server,vc9表示使用IIS作为Web Server。
根据您的配置,将相应的DLL文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc6.dll
—————————————————
这里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll
—————————————————-
压缩包里有各个版本对于的dll文件,大家可以去仔细核查。
开启扩展后,重启apache,这样就可以连接sqlserver了,但是还有一点要注意,如果你没有安装Microsoft SQL Server 2008 R2 Native Client,必须去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下载安装,因为微软的这个扩展包需要这个支持。
一切妥当之后,就可以写php代码了,如果你下载了The SQL Server Driver for PHP,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,在这里站长介绍一个简单的例子:
<?php
//本地测试的服务名
$serverName = “(127.0.0.1)”;
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( “UID”=>”root”,
“PWD”=>”root2010″,
“Database”=>”master”);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo “Connection established.\n”;
}
else
{
echo “Connection could not be established.\n”;
die( print_r( sqlsrv_errors(), true));
}
?>
如果连接不成功,重启sql server再试。
③ 现在要升级php5.4已上的版本,怎么升级
一、前言
我们公司服务器上的PHP版本是5.2,真的太旧了,除了很多新特性无法使用之外,PHP5.4的性能也比5.2版本有所提高,有助于提供业务的吞吐量。今年,我们计划将公司所有业务的PHP版本升级为5.4.41。
二、升级前准备
在升级PHP版本之前,首先要做的是检查业务代码的语法兼容性。其实,在官网上已经有相关的升级指引,我参考的是这2个链接。
从 PHP 5.2.x 移植到 PHP 5.3.x:http://php.net/manual/zh/migration53.php
从 PHP 5.3.X 迁移到 PHP 5.4.X:http://php.net/manual/zh/migration54.php
官方的文档中,没有升级指引从PHP5.2直接升级到PHP5.4,因此,需要对以上的升级指引,做一个归纳总结。上面的链接中有好几篇子文章,我主要关注的是“不向下兼容的变化”,“PHP 5.3.x 中弃用的功能”,“被移除的扩展”,“其他改变”……,主要目的是找出不兼容的语法(导致错误),以及将会被移除的函数。
我们使用以下一个表格来进行总结,方便各业务的人员能够对照PHP版本升级带来的变化而修改各自的业务代码
以上内容摘抄自官网的一些说明,这里就不详细列出来了。
三、测试
完善的单元测试和功能测试可以保证PHP版本升级后能及时发现问题。
四、上线方案
灰度,再灰度,这个是我们的原则。上线的时候,先对一个机房的服务器PHP版本进行升级,再逐步覆盖到所有的服务器。与此同时,上线之后,要密切留意是否error.log里面是否包含“PHP Fatal error”的错误日志,服务器的响应状态是否正常。
---------------------
④ php连sqlserver2008 r2需要什么版本的ntwdblib.dll
版本的选择是依据php版本决定的,具体如下:
一、php5.3以下的版本连接sql server
5.3以下的版本扩展里面自带一个php_mssql.dll;接数据库的扩展,可以利用这个扩展链接数据库,(只限于链接低版本数据库)。
具体的步骤如下:
1:首先安装sql server,超级不好安装,我之前安装的是2008版本的,Windows过期后就不能用了,然后重装还装不上,最后重装系统才装上
2:确定SQL装的时候用的是混合认证模式,或SQL验证模式,然后打开php的配置文件(php.ini),开启mssql扩展 (extension=php_pdo_mssql.dll前面的分号去掉)并且需要把mssql.secure_connection = On 重启后生效。
如果比较顺利的话已经可以连接数据库了,如果连不上就需要继续低下的配置:
3: 检查ntwdblib文件的版本(php/下面和Apache/下面)下载正确的版本的 ntwdblib.dll(2000.80.194.0)覆盖现有的DLL文件,(把ntwdblib.dll,php_mssql.dll 复制到system32目录中也可以)ntwdblib.dll 用于PHP连接MSSQL2005或2008的驱动文件。
4:测试连接:mssql_connect('localhost,1433', '用户名', '密码');
二、php5.3+连接sql server
其 实5.3以下的php版本已经很少用了,况且安全性和兼容性都不好,所以高版本的php还是比较常见的。实践证明低版本的php连接数据库成功率比较低 (2005以上的版本几乎不能使用),推荐使用php5.3+ php使用微软专门的扩展 SQLSRV 来连接sqlserver数据库
步骤如下:
1:先到微软网站下载 SQL Server Driver for PHP 是一个自解压的 EXE文件,解压缩后你会得到这么几个文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,选择跟你php版本相匹配的;vc6或vc9的选择要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache 则选择vc6的,ts和nts的选择要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全。
⑤ php输出1到100的奇数完整代码
以下是 PHP 输出 1 到 100 的奇数的完整代码:
<?php
for ($i = 1; $i <= 100; $i++) {
if ($i % 2 != 0) {
echo $i . " ";
}
}
?>
代码的执行过程如下:
使用 for 循环从 1 到 100 遍历每个数。
判断当前数是否为奇数,如果是,使用 echo 函数输出该数。
循环结束,输出所有的奇数。
输出结果为:1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
Regenerate response