是不是要和setlocale一起用,
我想要实现这样的功能,有没有高级点的写法:
function chinese_date($timestamp)
{
$months=array('一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月');
$m = (int) date('n',strtotime($timestamp));
$j = date('j',strtotime($timestamp));
$c_date= $months[$m-1].$j;
if (substr($timestamp,0,4) == date('Y')) {
return $c_date;
} else {
return date('Y',strtotime($timestamp)).'年'.$c_date;
}
}
1
touch 2015-03-31 18:04:47 +08:00 1
高级写法不知道
简单点的写法 $ar = array('一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'); $time = date('Y年n月d日',time()); preg_match('|年(.*)月|',$time,$mat); echo preg_replace('|.月|', $ar[$mat[1]-1],$time); |
2
haiyang416 2015-03-31 18:11:16 +08:00
这函数格式出来的有什么特别的用处吗?
2015年三月31,2015年三月三十一,怎么看怎么别扭。 二零一五年三月三十一日,如果是这个格式倒还能理解。 |
3
anewg 2015-03-31 18:16:24 +08:00 1
```
function chinese_date($timestamp, $output_delimiter = ' '){ $info_arr = explode(' ',date('Y m d H i s',strtotime('now'))); return implode($output_delimiter, array_map(function($v,$k){ switch($k){ case '0': // 处理年 return $v.'年'; case '1': // 处理月 return $v; // ...... default: // 不做处理的 return $v; break; } }, $info_arr, array_keys($info_arr))); } echo chinese_date('now','*'); // 2015年*03*31*12*11*19 ``` |
4
cevincheung 2015-03-31 18:30:41 +08:00
http://cn2.php.net/manual/zh/book.datetime.php
$date = new DateTime('now'); echo strtr($date->format('n'),array_combine(range(1,12),array('一','二','三','四','五','六','七','八','九','十','十一','十二'))).'月'; |
5
cevincheung 2015-03-31 18:37:55 +08:00 1
function chinese_date($timestamp) {
$date = new DateTime($timestamp); $months = array('一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'); $m = $date->format('n'); $j = $date->format('j'); $c_date = $months[$m - 1].'月' . $j; if ($date->format('Y') == date('Y')) { return $c_date; } else { return $date->format('Y') . '年' . $c_date; } } 不知道楼主想干啥 |
6
cevincheung 2015-03-31 18:47:21 +08:00
function chinese_date($timestamp) {
$date = new DateTime($timestamp); $months = array('一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'); $m = $date->format('n'); $j = $date->format('j'); $c_date = $months[$m - 1].'月' . $j; if ($date->format('Y') == date('Y')) { return $c_date; } else { return $date->format('Y') . '年' . $c_date; } } 不知道楼主想干啥 |
7
jacob OP @cevincheung 基本属于胡搞- -
|
8
lianyue 2015-03-31 20:25:40 +08:00 1
https://github.com/lian-yue/loli.base/blob/master/src/Loli/Date.php
看看吧 取消 掉 self::$allTimezone = array_merge(DateTimeZone::listIdentifiers(), self::$allTimezone); 的注视然后 lang 方法是本地化语言翻译 lang方法文件数组 return [ // 时区输出 '-12:00' => 'UTC-12:00', '-11:30' => 'UTC-11:30', '-11:00' => 'UTC-11:00', '-10:30' => 'UTC-10:30', '-10:00' => 'UTC-10:00', '-09:30' => 'UTC-09:30', '-09:00' => 'UTC-09:00', '-08:30' => 'UTC-08:30', '-08:00' => 'UTC-08:00', '-07:30' => 'UTC-07:30', '-07:00' => 'UTC-07:00', '-06:30' => 'UTC-06:30', '-06:00' => 'UTC-06:00', '-05:30' => 'UTC-05:30', '-05:00' => 'UTC-05:00', '-04:30' => 'UTC-04:30', '-04:00' => 'UTC-04:00', '-03:30' => 'UTC-03:30', '-03:00' => 'UTC-03:00', '-02:30' => 'UTC-02:30', '-02:00' => 'UTC-02:00', '-01:30' => 'UTC-01:30', '-01:00' => 'UTC-01:00', '-00:30' => 'UTC-00:30', '+00:00' => 'UTC+00:00', '+00:30' => 'UTC+00:30', '+01:00' => 'UTC+01:00', '+01:30' => 'UTC+01:30', '+02:00' => 'UTC+02:00', '+02:30' => 'UTC+02:30', '+03:00' => 'UTC+03:00', '+03:30' => 'UTC+03:30', '+04:00' => 'UTC+04:00', '+04:30' => 'UTC+04:30', '+05:00' => 'UTC+05:00', '+05:30' => 'UTC+05:30', '+05:45' => 'UTC+05:45', '+06:00' => 'UTC+06:00', '+06:30' => 'UTC+06:30', '+07:00' => 'UTC+07:00', '+07:30' => 'UTC+07:30', '+08:00' => 'UTC+08:00', '+08:30' => 'UTC+08:30', '+08:45' => 'UTC+08:45', '+09:00' => 'UTC+09:00', '+09:30' => 'UTC+09:30', '+10:00' => 'UTC+10:00', '+10:30' => 'UTC+10:30', '+11:00' => 'UTC+11:00', '+11:30' => 'UTC+11:30', '+12:00' => 'UTC+12:00', '+12:30' => 'UTC+12:30', '+12:45' => 'UTC+12:45', '+13:00' => 'UTC+13:00', '+13:30' => 'UTC+13:30', '+13:45' => 'UTC+13:45', '+14:00' => 'UTC+14:00', // D 缩写本地化 'D_Sun' => '日', 'D_Mon' => '一', 'D_Tue' => '二', 'D_Wed' => '三', 'D_Thu' => '四', 'D_Fri' => '五', 'D_Sat' => '六', 'l_Sunday' => '星期日', 'l_Monday' => '星期一', 'l_Tuesday' => '星期二', 'l_Wednesday' => '星期三', 'l_Thursday' => '星期四', 'l_Friday' => '星期五', 'l_Saturday' => '星期六', 'F_January' => '一月', 'F_February' => '二月', 'F_March' => '三月', 'F_April' => '四月', 'F_May' => '五月', 'F_June' => '六月', 'F_July' => '七月', 'F_August' => '八月', 'F_September' => '九月', 'F_October' => '十月', 'F_November' => '十一月', 'F_December' => '十二月', 'M_Jan' => '一', 'M_Feb' => '二', 'M_Mar' => '三', 'M_Apr' => '四', 'M_May' => '五', 'M_Jun' => '六', 'M_Jul' => '七', 'M_Aug' => '八', 'M_Sep' => '九', 'M_Oct' => '十', 'M_Nov' => '十一', 'M_Dec' => '十二', 'a_am' => '上午', 'a_pm' => '下午', 'A_AM' => '上午', 'A_PM' => '下午', 'S_st' => '下午', '$1 second' => '$1 秒', '$1 seconds' => '$1 秒', '$1 min' => '$1 分钟', '$1 mins' => '$1 分钟', '$1 hour' => '$1 小时', '$1 hours' => '$1 小时', '$1 day' => '$1 天', '$1 days' => '$1 天', '$1 month' => '$1 月', '$1 months' => '$1 月', '$1 year' => '$1 年', '$1 years' => '$1 年', '$1 ago' => '$1前', '$1 later' => '$1后', 'Now' => '刚刚', ]; |
9
lianyue 2015-03-31 20:26:08 +08:00
我以前自己写的本地化语言包
|
10
lianyue 2015-03-31 20:27:56 +08:00
然后注视有的地方有误哦 可能请忽略注视看
|