在实现php响应中更改日期的语言

时间:2019-02-19 11:05:44

标签: php dialogflow-fulfillment

我试图在php中创建响应实现,但是我的问题是更改月份结果的语言。 我将setwebe设置为php webhook,但Google助手始终以英语响应。

header( 'Access-Control-Allow-Headers: *' );
header( 'Access-Control-Allow-Origin: *' );
header( "Access-Control-Allow-Credentials: true" );
header( 'Content-Type: application/json' );
$postdata = file_get_contents( "php://input" );
$input = json_decode( $postdata, true );
setlocale (LC_TIME, 'it_IT.utf8','ita'); 
$intent = $input[ 'queryResult' ][ 'intent' ][ 'displayName' ];
$giorno = $input[ 'queryResult' ][ 'parameters' ][ 'giorno' ];
$guest = $input[ 'queryResult' ][ 'parameters' ][ 'guest' ];
$telefono = $input[ 'queryResult' ][ 'parameters' ][ 'telefono' ];
$tempo = $input[ 'queryResult' ][ 'parameters' ][ 'time' ][ 0 ];
$nome = $input[ 'queryResult' ][ 'parameters' ][ 'nome' ];
$oggi = date( "d F", strtotime($giorno) );

echo "{
    'fulfillmentText': 'Grazie " . $nome . ", ti confermo la tua prenotazione per ".$guest." persone alle ore " . substr( $tempo, -14, 5 ) . " del giorno " . $oggi . ".',
    'fulfillmentMessages': [
            {'text':
            {'text':
            ['Grazie " . $nome . ", ti confermo la tua prenotazione per ".$guest." persone alle ore " . substr( $tempo, -14, 5 ) . " del giorno " . $oggi . ".']
        }}],
    'source':'webhook'
}"

要用意大利语获得月份名称,我需要更改什么?

2 个答案:

答案 0 :(得分:0)

您应该尝试使用strftime函数

$oggi = strftime( "%e %B", strtotime($giorno) );

答案 1 :(得分:0)

您应该使用setlocale()

尝试如下:

setlocale(LC_TIME, 'it_IT');
$month_name = date('F', mktime(0, 0, 0, 1));

请参阅months in local languagesmktime()

在这种情况下,它将设置为法语。对于您的情况,应为以下之一:

  1. sr_BA-塞尔维亚(黑山)
  2. sr_CS-塞尔维亚语(塞尔维亚)