angularjs 日期格式化

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值