当前位置: 首页 > news >正文

Javascript 日期格式化

日期格式化:

/**
     * 时间格式化 返回格式化的时间
     * @param date {object}  可选参数,要格式化的data对象,没有则为当前时间
     * @param fomat {string} 格式化字符串,例如:'YYYY年MM月DD日 hh时mm分ss秒 星期' 'YYYY/MM/DD week' (中文为星期,英文为week)
     * @return {string} 返回格式化的字符串
     * 
     * 例子:
     * formatDate(new Date("january 01,2012"));
     * formatDate(new Date());
     * formatDate('YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD week');
     * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY/MM/DD week');
     * 
     * 格式:   
     *    YYYY:4位年,如1993
   *  YY:2位年,如93
   *  MM:月份
   *  DD:日期
   *  hh:小时
   *  mm:分钟
   *  ss:秒钟
   *  星期:星期,返回如 星期二
   *  周:返回如 周二
   *  week:英文星期全称,返回如 Saturday
   *  www:三位英文星期,返回如 Sat
     */
    function formatDate(date, format) {
        if (arguments.length < 2 && !date.getTime) {
            format = date;
            date = new Date();
        }
        typeof format != 'string' && (format = 'YYYY年MM月DD日 hh时mm分ss秒');
        var week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', '日', '一', '二', '三', '四', '五', '六'];
        return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function(a) {
            switch (a) {
            case "YYYY": return date.getFullYear();
            case "YY": return (date.getFullYear()+"").slice(2);
            case "MM": return date.getMonth() + 1;
            case "DD": return date.getDate();
            case "hh": return date.getHours();
            case "mm": return date.getMinutes();
            case "ss": return date.getSeconds();
            case "星期": return "星期" + week[date.getDay() + 7];
            case "周": return "周" +  week[date.getDay() + 7];
            case "week": return week[date.getDay()];
            case "www": return week[date.getDay()].slice(0,3);
            }
        });
    }

 

  用法:第一个参数传一个Date对象(没有则使用当前时间),第二个参数是格式化字符串,格式如下:

    YYYY:4位年,如1993

    YY:2位年,如93

    MM:月份

    DD:日期

    hh:小时

    mm:分钟

    ss:秒钟

    星期:星期,返回如 星期二

    周:返回如 周二

    week:英文星期全称,返回如 Saturday

    www:三位英文星期,返回如 Sat

  示例:

     * formatDate(new Date("january 01,2012"));
     * formatDate(new Date());
     * formatDate('YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD YY年 week');
     * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh时mm分ss秒 星期/周 www YYYY/MM/DD week');

转载于:https://www.cnblogs.com/Hodor/archive/2012/09/05/2672113.html

相关文章:

  • 成绩单课程翻译参考总表
  • NYOJ 86
  • C#处理oracle数据库的Clob类型
  • I have a dream
  • [笔记]8组LVDS_TX和LVDS_RX的调试心得
  • Struts2数据传输的背后机制:ValueStack(值栈)
  • A Medical Study Tool Developed with WPF
  • POJ题目分类---模拟[A一道删一道]
  • EJB之JPA(UUID与TABLE影射策略)
  • text-overflow:ellipsis溢出显示省略号兼容所有浏览器的解决办法
  • 场景中的物体显示 为BoundingBox
  • PHP程序员最常犯的11个MySQL错误
  • css书写顺序
  • 创建Metro风格的WPF界面
  • java command
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 2018一半小结一波
  • CSS魔法堂:Absolute Positioning就这个样
  • django开发-定时任务的使用
  • HashMap剖析之内部结构
  • Java 内存分配及垃圾回收机制初探
  • Javascript Math对象和Date对象常用方法详解
  • nodejs调试方法
  • Octave 入门
  • ReactNative开发常用的三方模块
  • SpringBoot 实战 (三) | 配置文件详解
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • mysql面试题分组并合并列
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #162 (Div. 2)
  • #传输# #传输数据判断#
  • (9)STL算法之逆转旋转
  • (AngularJS)Angular 控制器之间通信初探
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .Net Core 中间件验签
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net Redis的秒杀Dome和异步执行
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中让 Task 支持带超时的异步等待
  • .net程序集学习心得
  • .NET关于 跳过SSL中遇到的问题
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @angular/cli项目构建--Dynamic.Form
  • @RequestParam详解
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?