平台兼容性

<style> .hljs-string{ color: #df5000; } .hljs-comment{ color: green; } </style>

背景

当需要将日期转换为指定的格式时,或者需要从某个字符串中按照指定的格式提取日期,均可使用本模块。

获取

github仓库: https://github.com/xiafl/jscode_DateFormat
npm安装: npm install @xfl/date-format

使用说明

格式标记 含意 示例
yyyy 四位阿拉伯数字的年份 2018
YYYY 四位中文数字的年份 二零一八
yy 两位阿拉伯数字的年份 18
YY 两位中文数字的年份 一八
mm 一位或两位阿拉伯数字的月数 3 、 12
0m 两位阿拉伯数字的月数 03 、 12
MM 一位或两位中文数字的月数 三、 十二
dd 一位或两位阿拉伯数字的日数 3 、 12
0d 两位阿拉伯数字的日数 03 、 12、28
DD 中文数字的日数 三、 十二、二十八
hh 一位或两位阿拉伯数字的小时数 3 、 12
0h 两位阿拉伯数字的小时数 03 、 12
HH 中文数字的小时数 三、 十二、二十三
ff 一位或两位阿拉伯数字的分钟数 3 、 12、56
0f 两位阿拉伯数字的分钟数 03 、 12
0F 中文数字的分钟 零三、 十二、二十三
FF 中文数字的分钟 三、 十二、二十三
ss 一位或两位阿拉伯数字的秒数 3 、 12
0s 两位阿拉伯数字的秒数 03 、 12
0S 中文数字的秒数 零三、 十二、二十三
SS 中文数字的秒数 三、 十二、二十三
w 阿拉伯数字的星期数 1、6、7
W 中文数字的星期数 一、三、六、日
W -中文数字的星期数 一、三、六、天

属性

这些属性是可读可写的,如果直接更改,则会自动计算其关联的其它值。

dataformat.year; //年 [1000, 3000]  
dataformat.moth; //月 [1, 12]  
dataformat.day; //日 [1, 31]  
dataformat.hour; //时 [0, 23]  
dataformat.minute; //分 [0, 59]  
dataformat.second; //秒 [0, 59]  
dataformat.mscond; //毫秒 [0, 999]  
dataformat.week; //星期 [1, 7]  
dataformat.timestamp; //时间戳  

构造函数

构造函数内部直接调用的 setTime(ms, formatStr);

toString(formatStr)

将日期转换为指定格式,formatStr 是格式字符串。

使用举例:

1. toString() //结果: '2014-11-7 03:08:01'  
2. toString('yyyy-mm-dd hh:ff:ss') //结果: '2014-11-11 13:12:34'  
3. toString('yyyy年mm月dd日') //结果: '2014年11月11日'  
4. toString('yy年mm月dd日') //结果: '14年11月11日'  
5. toString('YY年MM月DD日') //结果: '一四年十一月八日'  
6. toString('星期W') //结果: '星期日'  或 '星期三'
7. toString('星期WT')  //结果: '星期天'  或 '星期三'
8. toString('星期w') //结果: '星期1'   或 '星期7'
9. toString('hh:0f:ss') //结果: '3:04:5'  
10. toString('date') //结果: '2014-11-7'  
11. toString('time') //结果: '03:08:01'  

setTime(ms, formtStr)

设置时间。如果存在 formatStr, 则表示从字符串 ms 中按 formatStr中的规则提取时间。

使用举例:

1. setTime( new Date() ); //传入一个时间对象  
2. setTime( new Date().getTime() ); //传入一个毫秒数  
3. setTime( new Date().getTime() ); //传入一个毫秒数  
4. setTime( new Date().getTime() + '' ); //传入一个毫秒数的字符串  
5. setTime(); //传入其它的值或不传入,则创建当前时间  
6. setTime(str, formatStr); //传入两个参数,第一个为字符串,第二个为格式规则,表示按照规则从字符串中提取时间  
7. setTime('今天是2014年8月9号,天气特别好,但明天是2014年8月10号,....', '明天是yyyy年mm月dd号');  // 得到  2014.8.10 0:0:0

fillChar(num, len, char)

字符填充

使用举例:

1. fillChar(44, 5, '*'); //结果: '***44'   
2. fillChar(44, 5); //结果: '00044'   
3. fillChar('44', 5); //结果: '   44'   
4. fillChar('aaa', 5); //结果: '   aa'   
5. fillChar('aaa', 5, '$'); //结果: '$$aaa'   
5. fillChar('aaa', 1, '$'); //结果: 'aaa'  //指定的长度太小,不做任何操作。  

perNumToChinese(num)

将阿拉伯数字每一位对应转换为中文的格式。

使用举例:

1. perNumToChinese(34); //结果: '三四'  
2. perNumToChinese(3874); //结果: '三八七四'  
3. perNumToChinese('3874'); //结果: '三八七四'  
4. perNumToChinese('404'); //结果: '四零四'    
5. perNumToChinese('0  04   '); //结果: '零零四'  
6. perNumToChinese('  '); //结果: ''  

perChineseToNum(numStr)

将中文的格式的数字每一位对应转换为阿拉伯数字。 是perNumToChinese(num)的逆操作。

使用举例:

1. perChineseToNum('三四'); //结果: 34  
2. perChineseToNum('三八七四'); //结果: 3874  
3. perChineseToNum('四零四'); //结果: 404  
4. perChineseToNum('零零四'); //结果: 4  
5. perChineseToNum('  '); //结果: NaN  

numToChinese(num)

将阿拉伯数字转换为中文的格式 , 最多只能处理13位数(万亿)

使用举例:

1. numToChinese(0); //结果: '零'  
2. numToChinese(5); //结果: '五'  
3. numToChinese(16); //结果: '十六'  
4. numToChinese(34); //结果: '三十四'  
5. numToChinese(106); //结果: '一百零六'  
6. numToChinese(886); //结果: '八百八十六'  
7. numToChinese(1004); //结果: '一千零四'  
8. numToChinese(1000); //结果: '一千'  
9. numToChinese(9904); //结果: '九千九百零四'  
10. numToChinese(19904); //结果: '一万九千九百零四'  
11. numToChinese(10004); //结果: '一万零四'  
12. numToChinese(10000); //结果: '一万'  
13. numToChinese(100404); //结果: '十万零四百零四'  
14. numToChinese(9000000); //结果: '九百万'  
15. numToChinese(90000000); //结果: '九千万'  
16. numToChinese(900000000); //结果: '九亿'  
17. numToChinese(9000000000); //结果: '九十亿'  
18. numToChinese(9020030401); //结果: '九十亿零二千零三万零四百零一'  
19. numToChinese(90000000000); //结果: '九百亿'  
20. numToChinese(900000000000); //结果: '九千亿'  
21. numToChinese(9000000000000); //结果: '九万亿'  
22. numToChinese(90000000000000); //结果: undefined  

chineseToNum (numStr)

将中文的格式的数字转换为阿拉伯数字, 最多只能处理13位数(万亿)。 是 numToChinese(num) 函数的逆操作。

使用举例:

1. chineseToNum('十六'); //结果: 16  
2. chineseToNum('一万九千九百零四'); //结果: 19904  
3. chineseToNum('十万零四百零四'); //结果: 100404   
4. chineseToNum('九十亿零二千零三万零四百零一'); //结果: 9020030401  

注意事项

问题反馈

如在使用中发现bug或有优化的建议和意见,请在评论区留言。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问