如何格式化像“2018-08-31”这样的日期字符串

How to format a date string like '2018-08-31'

我从 tt_content 得到了一个像“2018-08-31”这样的日期字符串,我想像这样转换它:“2018 年 8 月 31 日”- 我该如何让它工作?

我试过这个:

10 = TEXT
10 {
    wrap = |
    data.field = tx_mask_cnt_news_item_date  // field in tt_content, is '2018-08-31'
    strftime = %e %B %Y
}

但这会输出当前日期(以所需的格式)。有人可以给我提示吗?

试试这个:

10 = TEXT
10 {
    wrap = |
    field = tx_mask_cnt_news_item_date
    strftime = %e %B %Y
}

data.field = tx_mask_cnt_news_item_date会将tx_mask_cnt_news_item_date的内容设置为data的值,结果什么也没有。 field直接在TEXT对象中会将tx_mask_cnt_news_item_date的内容设置为TEXT对象的值,然后通过strftime.

我找到了一个解决方案:使用 strtotime = 1 字符串将被转换为时间戳,然后 strftime 将按预期工作:

10 = TEXT
10 {
    wrap = |
    field = tx_mask_cnt_news_item_date  // field in tt_content, is '2018-08-31'
    strtotime = 1
    strftime = %e %B %Y
}