AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。
AngularJS的日期格式化有两种形式,一种是在HTML页面,一种是在JS代码里,都是用到AngularJS的过滤器$filter。
HTML: date_expression 即 你在$scope中设的date类型变量(注意,一定是date object才正确), 也是要显示出来的日期,|是分割符号,分割符号后面的第一个参数date是指明过滤器类型是过滤日期的,第二个参数format是你的日期要格式化成什么样子,比如yyyy-MM-dd,最后timezone一个是时区(可选参数),对于国际化的网站比较适用。
复制代码 代码如下:
{{ date_expression | date : format : timezone}}
两种写法:可以用{{}}表达式,也可以用ng-bind 或者 ng-model
复制代码 代码如下:
{{myDate | date:'medium'}}
<h1 ng-bind="myDate | date:'yyyy-MM-dd'"></h1>
在Javascript代码里,是这么写的:
复制代码 代码如下:
var myJsDate=$filter('date')($scope.myDate,'yyyy-MM-dd');
这样你声明的变量myJsDate就能得到$scope里myDate格式化之后的值了。
本地化日期格式化:
({{ today | date:'medium' }})Apr 10, 2010 7:38:22 PM
({{ today | date:'short' }})4/10/16 7:38 PM
({{ today | date:'fullDate' }})Sunday, April 10, 2010
({{ today | date:'longDate' }})April 10, 2010
({{ today | date:'mediumDate' }})Apr 10, 2010
({{ today | date:'shortDate' }})4/10/16
({{ today | date:'mediumTime' }})7:38:22 PM
({{ today | date:'shortTime' }})7:38 PM
年份格式化:
四位年份:({{ today | date:'yyyy' }})2010
两位年份:({{ today | date:'yy' }})16
一位年份:({{ today | date:'y' }})2010
月份格式化:
英文月份:({{ today | date:'MMMM' }})April
英文月份简写:({{ today | date:'MMM' }})Apr
两位数字月份:({{ today | date:'MM' }})04
一年中的第几个月份:({{ today | date:'M' }})4
日期格式化:
数字日期:({{ today | date:'dd' }})10
一个月中的第几天:({{ today | date:'d' }})10
英文星期:({{ today | date:'EEEE' }})Sunday
英文星期简写:({{ today | date:'EEE' }})Sun
小时格式化:
24小时制数字小时:({{ today | date:'HH' }})19
一天中的第几个小时:({{ today | date:'H' }})19
12小时制数字小时:({{ today | date:'hh' }})07
上午或下午的第几个小时:({{ today | date:'h' }})7
分钟格式化:
数字分钟数:({{ today | date:'mm' }})38
一个小时中的第几分钟:({{ today | date:'m' }})38
秒数格式化:
数字秒数:({{ today | date:'ss' }})22
一分钟中内的第几秒:({{ today | date:'s' }})22
毫秒数格式化:
毫秒数:({{ today | date:'sss' }})496
字符格式化:
上下午标识:({{ today | date:'a' }})PM
四位时区标识:({{ today | date:'Z' }})+0800
自定义日期格式化:
年月日:({{ today | date:'yyyy-MM-dd' }})2010-04-10
时分秒:({{ today | date:'HH:mm:ss.sss' }})19:38:22.496
转载于:https://my.oschina.net/weakupman/blog/656262