更改刀片模板中的日期格式

时间:2018-05-05 13:36:58

标签: laravel

我有一个日期,打印为YYYY-MM-DD。

如何将其打印为DD-MM-YEAR,甚至更好的英文版本:例如2018年5月5日

这是打印日期的方式:

          <td>{{$expenses->date}}</td>

7 个答案:

答案 0 :(得分:2)

这是change the date format in laravel view page的副本,您可以轻松地执行此操作。

<td>{{ date('d-M-y', strtotime($expenses->date)) }}</td>

答案 1 :(得分:2)

您可以使用date-mutators

将日期字段添加到模型的日期数组中。

<强> Expense.php

{{ $expenses->date->format('d-m-Y') }} //01-05-2018

在视图文件中,您可以格式化日期字段,如

{{ $expenses->date->format('l jS \\of F Y h:i:s A') }} //Tuesday 1st of May 2018 01:04:00 PM

library(ggplot2)
library(gridExtra)

StudyResults <- data.frame(TreatmentArm = rep(c("A", "B"), each = 10),
                           SubjectID = rep(1:10, each = 2),
                           Glucose = rnorm(20, 50, 10),
                           Insulin = rnorm(20, 0.15, 0.05),
                           StudyDay = rep(c("SD1", "SD2"), 10))

Trend <- data.frame(Gender = rep(c("F", "M"), each = 50),
                    Glucose = seq(20, 80, length = 50), 
                    Insulin = NA)
Trend$Insulin[Trend$Gender == "F"] <- 2/Trend$Glucose[Trend$Gender == "F"]
Trend$Insulin[Trend$Gender == "M"] <- 5/Trend$Glucose[Trend$Gender == "M"]

PlotTrend <- ggplot(Trend, aes(x = Glucose, y = Insulin, color = Gender)) +
      geom_line() + scale_color_manual(values = c("red", "blue"))
PlotStudy <- ggplot(StudyResults, aes(x = Glucose, y = Insulin, shape = StudyDay,
                                      color = TreatmentArm, group = SubjectID)) +
      geom_point() + geom_line() +
      scale_color_manual(values = c("green", "black"))

g_legend <- function(a.gplot){
      tmp <- ggplot_gtable(ggplot_build(a.gplot))
      leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
      legend <- tmp$grobs[[leg]]
      return(legend)}

LegendTrend <- g_legend(PlotTrend)
LegendStudy <- g_legend(PlotStudy)

PlotMain <- ggplot(StudyResults, aes(x = Glucose, y = Insulin, shape = StudyDay,
                                     color = TreatmentArm, group = SubjectID)) +
      geom_point() + geom_line() +
      scale_color_manual(values = c("green", "black")) +
      geom_line(data = Trend[Trend$Gender == "F", ], 
                aes(x = Glucose, y = Insulin), 
                inherit.aes = FALSE, color = "red") +
      geom_line(data = Trend[Trend$Gender == "M", ], 
                aes(x = Glucose, y = Insulin), 
                inherit.aes = FALSE, color = "blue") +
      theme(legend.position = "none")

grid.arrange(PlotMain, 
             arrangeGrob(LegendStudy, LegendTrend, nrow = 2, 
                         heights = c(unit(0.5, "npc"),
                                     unit(0.5, "npc")),
                         widths = unit(0.5, "npc")),
             ncol = 2, widths = c(10, 3))

答案 2 :(得分:2)

在刀片中尝试此操作。它将与<sup>标签一起很好地显示。知道这是一个旧线程,但请补充一下,因为我花了很多时间来找到它,并希望以后的用户会更容易。

{!! htmlspecialchars_decode(date('j<\s\up>S</\s\up> F Y', strtotime('21-05-2020'))) !!}

enter image description here

答案 3 :(得分:0)

Carbon库非常酷,在laravel中有日期格式。 “字符串格式”主题对您非常有用。所以,试着通过这个:https://carbon.nesbot.com/docs/

在刀片php中使用碳可以通过以下格式进行处理:{{\ Carbon \ Carbon :: now() - &gt; toDateString()}}

答案 4 :(得分:0)

在Laravel中,您可以在app / Helper / helper.php之内添加一个函数,例如

function formatDate($date = '', $format = 'Y-m-d'){
    if($date == '' || $date == null)
        return;

    return date($format,strtotime($date));
}

并在这样的任何控制器上调用此函数

$expenses['date'] = formatDate($date,'d-m-Y');

在Blade中,您可以直接编写

<td>{{$expenses->date}}</td>

希望有帮助!

答案 5 :(得分:0)

您有3种方法可以做到这一点:

1)使用Laravel模型-不适用于1900年以下的日期。不过,您可以进行一些调整fix

<td>{{$expenses->date->format('j F, Y')}}</td>

2)使用PHP strtotime-不适用于1900年以下的日期。不过,您可以进行一些调整来fix

{{ date('j F, Y', strtotime($expenses->date)) }}

3)使用碳-到目前为止的所有日期都能很好地使用

{{ \Carbon\Carbon::parse($expenses->date)->format('j F, Y') }}

答案 6 :(得分:0)

尝试一下:

date('d-m-Y', strtotime($user->from_date));

它将日期转换为d-m-Y格式。