Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS translate:格式化动态日期_Angularjs_Date_Angular Translate - Fatal编程技术网

AngularJS translate:格式化动态日期

AngularJS translate:格式化动态日期,angularjs,date,angular-translate,Angularjs,Date,Angular Translate,使用AngularJS和AngularTranslate,我试图在翻译文本中插入一个日期作为参数 翻译包记录了基本任务: <p>{{ 'MyText' | translate:{myDate:someControllerDate} }}</p> 这给了我: (英语)这是日期:2015-04-29T00:00:00 (丹麦)日期2015-04-29T00:00:00 问题: 我想格式化日期以匹配语言(或文化,但现在语言已经足够好了) 预期的结果是: (英文)日期:2015

使用AngularJS和AngularTranslate,我试图在翻译文本中插入一个日期作为参数

翻译包记录了基本任务:

<p>{{ 'MyText' | translate:{myDate:someControllerDate} }}</p>
这给了我:

(英语)这是日期:2015-04-29T00:00:00

(丹麦)日期2015-04-29T00:00:00

问题: 我想格式化日期以匹配语言(或文化,但现在语言已经足够好了)

预期的结果是:

(英文)日期:2015年4月29日

(丹麦)Dette 29-04-2015 er datoen

我希望有一个大致如下的语法:

(english)'MyText': 'This is the date: {{myDate:MM-dd-yyyy}}.'
(danish) 'MyText': Dette {{myDate:dd-MM-yyyy}} er datoen.'
或许:

<p>{{ 'MyText' | translate:{{myDate:someControllerDate | translate:'MyDateFormat'}} }}</p>

是否有一种方法可以实现所需的结果,最好是不必在控制器内格式化日期(保持逻辑和视图分离)?

假设您有以下
角度平移
平移定义:

//de    
"with_date": "German: {{date|date:'short'}}"

//en    
"with_date": "English: {{date|date:'medium'}}"
然后在视图中,您可以执行以下操作:

<h1>{{ 'with_date'|translate:{date:today} }}</h1>
假设您加载了正确的语言环境,则日期将以特定于语言/国家的方式进行格式化

这是一个例子


话虽如此,angular()中内置的定位机制非常有限,当涉及到日期时,您可以使用

实现奇迹,您能否举例说明如何将其用于angular translate?这正是我想要的。非常感谢。从文档中:
角度日期时间过滤器使用浏览器的时区设置。
,因此除非您还使用
$translate.use('en_-US')更改浏览器语言,否则这将不起作用。
//de    
"with_date": "German: {{date|date:'short'}}"

//en    
"with_date": "English: {{date|date:'medium'}}"
<h1>{{ 'with_date'|translate:{date:today} }}</h1>
$scope.today = new Date();