如何让时间显示为中文格式包含中文的星期几

我现在用的是Laravel开发出来的另外一个版本。

其中时间使用的是 Carbon 他们提供的API ,网站地址是: http://carbon.nesbot.com/
我想把15-Apr-15 Yesterday 英文的格式,修改为 2015年4月15日 昨天

不知道谁能帮忙一下。

我的测试地址是:
已邀请:

binaryoung

赞同来自: raisinli FiveSay Mr_Jing

可以参考以下代码,根据自己需求更改
setlocale(LC_TIME, 'Chinese');
$Carbon = new \Carbon\Carbon;
$Carbon->setLocale('zh');
$time = $Carbon->now()->formatLocalized('%Yy %b %dd %A %p');
$time = iconv('GBK','UTF-8',$time);
$time = str_replace(['y', 'd'], ['年', '日'], $time);
echo $time;
echo "\n";
echo Carbon::yesterday()->diffForHumans();
//输出 2015年 4月 16日 星期四 下午 1天前

王赛

赞同来自: raisinli

我觉得这个需求可以在前端页面上通过js解决,后端只提供数据服务就行,在这里就是把时间按照标准格式输出即可。如果将来需要修改日期的显示样式的话,前台展现层修改更合适。

推荐这个js工具库: http://momentjs.com/

raisinli

赞同来自:

@foreach($posts as $key => $pts)
    <h3 class="archive-date">
        @if($date = \Carbon\Carbon::createFromFormat('Y-n-j',$key)->isToday())
            Today
        @elseif($date = \Carbon\Carbon::createFromFormat('Y-n-j',$key)->isYesterday())
            Yesterday
        @else
            {{ date('l', strtotime($key))  }}
        @endif
        {{ $key }}</h3>

目前用这个做时间轴的。

raisinli

赞同来自:

比如我引用了时间JS,可是如何在视图中显示出来呢。
<script>
var weekday = moment().format('d'); 
document.write(weekday);
</script>
<span>moment().format('d');</span>

上面这段是我才学习到的,比如今天是星期几,可是我不会在laravel的视图中显示出来。直接用
monent().format('d'); 是不会有任何效果的。所以想学习一下。估计这个才是我遇见的最大问题。

我知道打印输出用双层引号 {{...}}

raisinli

赞同来自:

http://app.thisteam.in/test/index.html
这个是我练习的当前日期中文。可是我不会引入到laravel

raisinli

赞同来自:

http://app.thisteam.in
这个是测试地址,需要把里面的时间都换成中文的,星期几,几年几月几日。
上面说的方法我尝试了,主要是第一次接触laravel完全不知道如何下手。

raisinli

赞同来自:

https://github.com/jenssegers/laravel-date
之前我遇见了中文时间格式的问题,无一例外都是使用moment.js 解决。可是我真的不会,所以就从头开始学习了一下,发现在配置 composer 的时候,引入 'Jenssegers\Date\DateServiceProvider', 比较方便,里面有中文的日期格式。

具体的替换 Carbon 的过程待我整理后发出来。

微信截图_20150505041150.png

要回复问题请先登录注册