楼上的观点是片面的,因为如果加上8个小时后就是第二天、第二个月、第二年了呢?那岂不是写很多if then?将服务器的时间本地格式化。语法: string strftime(string format, int [timestamp]);返回值: 字符串函数种类: 时间日期
 
 
内容说明 
返回值的字符串依配置的格式来决定。若有传入时间戳记值,则将时间戳记格式化返回;若无传入时间戳记值,则将目前服务器的时间本地格式化返回。月份或者星期名称随着本地语系配置 setlocale() 的不同而改变。返回的字符串可以依下列的格式而定:
%a 星期几的缩写。 
%A 星期几的全名。 
%b 月份名称的缩写。 
%B 月份名称的全名。 
%c 本地端日期时间较佳表示字符串。 
%d 用数字表示本月的第几天 (范围为 00 至 31)。 
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。 
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。 
%j 以数字表示当年度的第几天 (范围为 001 至 366)。 
%m 月份的数字 (范围由 1 至 12)。 
%M 分钟。 
%p 以 'AM' 或 'PM' 表示本地端时间。 
%S 秒数。 
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。 
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。 
%w 用数字表示本周的第几天 ( 0 为周日)。 
%x 不含时间的日期表示法。 
%X 不含日期的时间表示法。 
%y 二位数字表示年份 (范围由 00 至 99)。 
%Y 完整的年份数字表示,即四位数。 
%Z 时区或名称缩写。 
%% % 字符。  
 
使用范例 
<?php
setlocale ("LC_TIME", "C");
print(strftime("%A in Finnish is "));
setlocale ("LC_TIME", "fi");
print(strftime("%A, in French "));
setlocale ("LC_TIME", "fr");
print(strftime("%A and in German "));
setlocale ("LC_TIME", "de");
print(strftime("%A.\n"));
?> 

解决方案 »

  1.   

    To zxyufan(宇凡) 你好像很崇拜《php4中文手册》嘛。
      

  2.   

    <?php
    setlocale ("LC_TIME", "CN");
    print(strftime("%X in china is "));
    setlocale ("LC_TIME", "");
    print(strftime("%X, in local "));
    ?>但CN似乎不是中国的代码啊,服务器上的显示是:11:58:16 in china is 11:58:16, in local 
    (本地时间是19:58:16)
      

  3.   

    <?
    function AddDay($Date,$offset)//针对YYYY-mm-dd
    {
    $year="";
    $month="";
    $day="";

    for ($i=0;$i<4;$i++)
    {
    $year = $year.$Date[$i];
    }
    for ($i=5;$i<7;$i++)
    {
    $month = $month.$Date[$i];
    }
    for ($i=8;$i<10;$i++)
    {
    $day = $day.$Date[$i];
    }
    for ($i=0;$i<$offset;$i++)
    {
    switch ($month) {
    case 1:
    {
    if ($day==31) { 
    $day = 1;
    $month = 2;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 2:
    {
    if (CheckLeap($year)) {
    if ($day == 29) { 
    $day = 1;
    $month = 3;
    }
    else {
    $day=$day + 1;
    }
    }
    else {
    if ($day == 28) { 
    $day = 1;
    $month = 3;
    }
    else {
    $day=$day + 1;
    }
    }
    }
    break;
    case 3:
    {
    if ($day==31) { 
    $day = 1;
    $month = 4;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 4:
    {
    if ($day==30) { 
    $day = 1;
    $month = 5;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 5:
    {
    if ($day==31) { 
    $day = 1;
    $month = 6;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 6:
    {
    if ($day==30) { 
    $day = 1;
    $month = 7;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 7:
    {
    if ($day==31) { 
    $day = 1;
    $month = 8;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 8:
    {
    if ($day==31) { 
    $day = 1;
    $month = 9;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 9:
    {
    if ($day==30) { 
    $day = 1;
    $month = 10;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 10:
    {
    if ($day==31) { 
    $day = 1;
    $month = 11;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 11:
    {
    if ($day==30) { 
    $day = 1;
    $month = 12;
    }
    else {
    $day=$day + 1;
    }
    }
    break;
    case 12:
    {
    if ($day==31) { 
    $day = 1;
    $month = 1;
    $year = $year + 1;
    }
    else {
    $day=$day + 1;
    }
    }
    }
    }
    $result=$year."-".$month."-".$day;
    return $result;
    } function Add8Hour($Date)//针对YYYY-mm-dd HH:ii:ss格式的时间
    {
    $Hour = "";
    $Date_tmp = "";
    $iiss = "";
    for ($i=0;$i<11;$i++)
    {
    $Date_tmp = $Date_tmp.$Date[$i];
    }
    for ($i=11;$i<13;$i++)
    {
    $Hour = $Hour.$Date[$i];
    }
    for ($i=13;$i<20;$i++)
    {
    $iiss = $iiss.$Date[$i];
    } if ($Hour < 16)
    {
    $newHour = $Hour + 8;
    $result = $Date_tmp.$newHour.$iiss;
    }
    else
    {
    $newDate = AddDay($Date_tmp,1);
    $newHour = $Hour + 8 - 24;
    $result = $newDate.$newHour.$iiss;
    }
    return $result;
    }?>