• Angular6 项目开发常用时间组件服务


    一、利用Angular 命令行工具生成一个服务。

      详情见:《Angular环境搭建》,服务代码如下:

      1 import { Injectable } from '@angular/core';
      2 
      3 @Injectable({
      4   providedIn: 'root'
      5 })
      6 export class TimeutilProvider {
      7 
      8   private today: Date;
      9   private year: String;
     10   private mouth: String;
     11   private date: String;
     12   private hours: String;
     13   private minutes: String;
     14   private seconds: String;
     15   private milliseconds: String;
     16   private week:number;
     17   private weekday:Array<string> =["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
     18   constructor () {
     19     this.today = new Date();
     20     this.year = this.today.getFullYear().toString();
     21     this.mouth = (this.today.getMonth() + 1).toString();
     22     this.date = this.today.getDate().toString();
     23     this.hours = this.today.getHours().toString();
     24     this.minutes = this.today.getMinutes().toString();
     25     this.seconds = this.today.getSeconds().toString();
     26     this.milliseconds = this.today.getMilliseconds().toString();
     27 
     28     this.week = this.today.getDay();
     29 
     30     if (Number(this.mouth) < 10) {
     31       this.mouth = '0' + this.mouth;
     32     } else {
     33     }
     34     if (Number(this.date) < 10) {
     35       this.date = '0' + this.date;
     36     } else {
     37     }
     38     if (Number(this.hours) < 10) {
     39       this.hours = '0' + this.hours;
     40     } else {
     41     }
     42     if (Number(this.minutes) < 10) {
     43       this.minutes = '0' + this.minutes;
     44     } else {
     45     }
     46     if (Number(this.seconds) < 10) {
     47       this.seconds = '0' + this.seconds;
     48     }
     49     if (10 > Number(this.milliseconds)) {
     50       this.milliseconds = '00' + this.milliseconds;
     51     } else if ((10 <= Number(this.milliseconds)) && (100 > Number(this.milliseconds))) {
     52       this.milliseconds = '0' + this.milliseconds;
     53     } else {
     54       // dothing
     55     }
     56   }
     57 
     58   //返回当前星期
     59   currentWeek(){
     60     return this.weekday[this.week].toString();
     61     // this.week.toString();
     62   }
     63 
     64   //20190306115830234格式
     65   currentTime() {
     66     return this.year + '' + this.mouth + '' + this.date + '' + this.hours + '' + this.minutes + '' + this.seconds + '' + this.milliseconds;
     67   }
     68 
     69   //一般用于生成唯一标识,例如uuid
     70   currentTime_id() {
     71     // 三位随机数以免重复
     72     const random = (Math.random() * 100000000000000000).toString().substr(0, 3);
     73     
     74     return this.year + '' + this.mouth + '' + this.date + ''
     75     + this.hours + '' + this.minutes + '' + this.seconds + '' + this.milliseconds + random;
     76   }
     77 
     78   //2019-03-06 11:59格式
     79   currentTime_datestyle() {
     80     return this.year + '-' + this.mouth + '-' + this.date + ' ' + this.hours + ':' + this.minutes + '';
     81   }
     82 
     83   //2019-03-06 11:59:30格式
     84   currentTime_datesecondsstyle() {
     85     return this.year + '-' + this.mouth + '-' + this.date + ' ' + this.hours + ':' + this.minutes + ':' + this.seconds;
     86   }
     87   
     88   
     89   // currentTime_date(){
     90   //   return this.year + '-' + this.mouth + '-' + this.date;
     91   // }
     92 
     93   // 返回当前时间"10:25:34"格式
     94   currentTime_time(){
     95     let now=new Date();
     96     let year  = (now.getFullYear()).toString();
     97     let month = (now.getMonth()+1).toString();
     98     let date  = (now.getDate()).toString();
     99     let hour  = (now.getHours()).toString();
    100     let minute= (now.getMinutes()).toString();
    101     let second= (now.getSeconds()).toString();
    102 
    103     if (Number(month) < 10) {
    104           month = '0' + month;
    105     } else {
    106     }
    107     if (Number(date) < 10) {
    108           date = '0' + date;
    109     } else {
    110     }
    111     if (Number(hour) < 10) {
    112           hour = '0' + hour;
    113     } else {
    114     }
    115     if (Number(minute) < 10) {
    116           minute = '0' + minute;
    117     } else {
    118     }
    119     if (Number(second) < 10) {
    120           second = '0' + second;
    121     }
    122 
    123     return hour + ':' + minute + ':' + second;
    124   }
    125 
    126   
    127 
    128   //将当前时间转化为消息类型时间,2019.03.06 11:56:30格式
    129   convertToDate_msgTimestamp(nows){
    130     let now=new Date(nows);
    131     let year  = (now.getFullYear()).toString();
    132     let month = (now.getMonth()+1).toString();
    133     let date  = (now.getDate()).toString();
    134     let hour  = (now.getHours()).toString();
    135     let minute= (now.getMinutes()).toString();
    136     let second= (now.getSeconds()).toString();
    137 
    138     if (Number(month) < 10) {
    139           month = '0' + month;
    140     } else {
    141     }
    142     if (Number(date) < 10) {
    143           date = '0' + date;
    144     } else {
    145     }
    146     if (Number(hour) < 10) {
    147           hour = '0' + hour;
    148     } else {
    149     }
    150     if (Number(minute) < 10) {
    151           minute = '0' + minute;
    152     } else {
    153     }
    154     if (Number(second) < 10) {
    155           second = '0' + second;
    156     }
    157       return year+"."+month+"."+date+" "+hour+":"+minute+":"+second; 
    158   }
    159 
    160   //2019-03-06 11:56:30格式
    161   convertToDate_timestamp(nows){
    162     var now=new Date(nows);
    163     var year  = (now.getFullYear()).toString();
    164     var month = (now.getMonth()+1).toString();
    165     var date  = (now.getDate()).toString();
    166     var hour  = (now.getHours()).toString();
    167     var minute= (now.getMinutes()).toString();
    168     var second= (now.getSeconds()).toString();
    169 
    170     if (Number(month) < 10) {
    171           month = '0' + month;
    172     } else {
    173     }
    174     if (Number(date) < 10) {
    175           date = '0' + date;
    176     } else {
    177     }
    178     if (Number(hour) < 10) {
    179           hour = '0' + hour;
    180     } else {
    181     }
    182     if (Number(minute) < 10) {
    183           minute = '0' + minute;
    184     } else {
    185     }
    186     if (Number(second) < 10) {
    187           second = '0' + second;
    188     }
    189       return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; 
    190   }
    191 
    192 
    193   //将消息时间格式转化为时间戳格式
    194   convertTotimestamp(date:string){
    195     return date.replace(".","-");
    196   }
    197 
    198 
    199   //将消息时间格式转化为Date类型
    200   convertMsgtimeToDate(date:string){
    201     //date = "2018.11.01 10:00:00";
    202     date.replace(".","-");
    203     return new Date(date)
    204   }
    205 
    206   //将时间戳格式日期转化为Date类型
    207   convertTimestampToDate(date:string){    
    208     return new Date(date)
    209   }
    210 
    211   //获取当前时间前一天时间
    212   getYestardayTime(){
    213    return new Date(new Date().getTime() - 24*60*60*1000); 
    214   }
    215 
    216   //返回当前日期“2018-02-03”格式
    217   currentTime_daystyle() {
    218       return this.year + "-" + this.mouth + "-" + this.date + " ";
    219   }
    220 
    221   //返回当前时间前一天时间“2018.02.03”格式
    222   currentPreviousTime_daystyle() {
    223     let previousDate = new Date(new Date().getTime() - 24*60*60*1000); 
    224     var year  = (previousDate.getFullYear()).toString();
    225     var month = (previousDate.getMonth()+1).toString();
    226     var date  = (previousDate.getDate()).toString();
    227     if (Number(month) < 10) {
    228       month = '0' + month;
    229     } else {
    230     }
    231     if (Number(date) < 10) {
    232           date = '0' + date;
    233     } else {
    234     }
    235 
    236     return year + "." + month + "." + date + " ";
    237   }
    238 }

    二、时间服务的使用

      1.在要是用的组建构造函数中依赖注入,如下图: 

    1 constructor(private timeutil : TimeutilProvider) {
    2      //调用方法
    3      console.log("id:",this.timeutil.currentTime_id(););
    4 }    
  • 相关阅读:
    ExtJS小技巧
    Oracle 表的行数、表占用空间大小,列的非空行数、列占用空间大小 查询
    NPM 私服
    IDEA 不编译java以外的文件
    SQL 引号中的问号在PrepareStatement 中不被看作是占位符
    Chrome 浏览器自动填表呈现淡黄色解决
    批量删除Maven 仓库未下载成功.lastupdate 的文件
    Oracle 11g 监听很慢,由于监听日志文件太大引起的问题(Windows 下)
    Hibernate 自动更新表出错 建表或添加列,提示标识符无效
    Hibernate 自动更新表出错 More than one table found in namespace
  • 原文地址:https://www.cnblogs.com/mycnblogs-guoguo/p/10482754.html
Copyright © 2020-2023  润新知