Javascript 角度格式化yyyy MM dd HH:MM日期时间字符串
我正在用angularJS进行日期时间格式化 我想获得以下日期格式Javascript 角度格式化yyyy MM dd HH:MM日期时间字符串,javascript,angularjs,date,datetime,Javascript,Angularjs,Date,Datetime,我正在用angularJS进行日期时间格式化 我想获得以下日期格式25/11/1990 14:35 基于日期时间字符串包含“1990-11-25 14:35:00”,无需在控制器中创建日期对象 如果输入是日期对象,或者字符串不包含小时或分钟,则angular似乎只能实现正确的日期时间格式 index.html <div ng-app ng-controller="Ctrl"> String: {{'1990-11-25 14:35:00' | date:"dd/MM/yyyy
25/11/1990 14:35
基于日期时间字符串
包含“1990-11-25 14:35:00”
,无需在控制器中创建日期
对象
如果输入是日期
对象,或者字符串
不包含小时或分钟,则angular似乎只能实现正确的日期时间格式
index.html
<div ng-app ng-controller="Ctrl">
String: {{'1990-11-25 14:35:00' | date:"dd/MM/yyyy HH:mm"}}<br>
string date: {{'1990-11-25' | date:"dd/MM/yyyy"}}<br>
Date: {{myDate | date:"dd/MM/yyyy HH:mm"}}
</div>
输出
string: 1990-11-25 14:35:00
string date: 25/11/1990
date: 25/11/1990 14:35
根据,,
datetime字符串允许的唯一格式是:
日期时间字符串格式(例如yyyy-MM-ddTHH:MM:ss.sssZ及其较短版本,如yyyy-MM-ddTHH:mmZ、yyyy-MM-dd或YYYYMMDDHHMMSSZ
有没有一种方法可以直接在html中将包含“1990-11-25 14:35:00”
的字符串格式化为25/11/1990 14:35
,而无需创建Date
对象
谢谢你的帮助
似乎只有当输入是日期对象或字符串不包含小时或分钟时,angular才能实现正确的日期时间格式
如果要将字符串识别为日期,则应使用根据标准格式化的日期。因此1990-11-25 14:35:00
变为1990-11-25T14:35:00Z
,如果需要,还可以包括偏移量(其在规范中)。然后可以使用现有的内置角度
从on参数date
格式为日期对象、毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式的日期(例如YY-MM-ddTHH:MM:ss.sssZ及其较短版本,如yyyy-MM-ddTHH:mmZ、yyyy-MM-dd或YYYYYYMMDDHMMSSZ)。如果字符串输入中未指定时区,则该时间被视为在本地时区中
代码更新
字符串:{'1990-11-25T14:35:00Z'|日期:“dd/MM/yyyy HH:MM”}
日期:{Date | Date:“dd/MM/yyyy HH:MM”}
函数Ctrl($scope)
{
$scope.date=“1990-11-25T14:35:00Z”;
}
似乎只有当输入是日期对象或字符串不包含小时或分钟时,angular才能实现正确的日期时间格式
如果要将字符串识别为日期,则应使用根据标准格式化的日期。因此1990-11-25 14:35:00
变为1990-11-25T14:35:00Z
,如果需要,还可以包括偏移量(其在规范中)。然后可以使用现有的内置角度
从on参数date
格式为日期对象、毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式的日期(例如YY-MM-ddTHH:MM:ss.sssZ及其较短版本,如yyyy-MM-ddTHH:mmZ、yyyy-MM-dd或YYYYYYMMDDHMMSSZ)。如果字符串输入中未指定时区,则该时间被视为在本地时区中
代码更新
字符串:{'1990-11-25T14:35:00Z'|日期:“dd/MM/yyyy HH:MM”}
日期:{Date | Date:“dd/MM/yyyy HH:MM”}
函数Ctrl($scope)
{
$scope.date=“1990-11-25T14:35:00Z”;
}
日期对象有什么问题?我想避免任何控制器数据处理日期对象有什么问题?我想避免任何控制器数据处理谢谢,我想避免任何数据处理,但这似乎是唯一的方法。输入日期格式(yyyy-MM-dd HH:MM)我使用的是MySQL
datetime
formatting不幸的是…@PierreRoudaut-您还可以创建自定义日期筛选器,将字符串转换为ISO日期时间,然后将其链接到angular日期筛选器。基本上,在正确格式化(或将其转换为javascript日期)后进行调用。这样仍然可以将代码与控制器隔离。这实际上是个好主意!谢谢,我想避免任何数据处理,但这似乎是唯一的方法。输入日期格式(yyy-MM-dd HH:MM)我使用的是MySQLdatetime
formatting不幸的是…@PierreRoudaut-您还可以创建自定义日期筛选器,将字符串转换为ISO日期时间,然后将其链接到angular日期筛选器。基本上,在正确格式化(或将其转换为javascript日期)后进行调用。这样仍然可以将代码与控制器隔离开来。这确实是个好主意!
string: 1990-11-25 14:35:00
string date: 25/11/1990
date: 25/11/1990 14:35
<div ng-app ng-controller="Ctrl">
String: {{'1990-11-25T14:35:00Z' | date:"dd/MM/yyyy HH:mm"}}
<br>
Date: {{date | date:"dd/MM/yyyy HH:mm"}}
</div>
function Ctrl($scope)
{
$scope.date = "1990-11-25T14:35:00Z";
}