Skip to content

Commit 5145ad4

Browse files
committed
init
0 parents  commit 5145ad4

File tree

10 files changed

+4169
-0
lines changed

10 files changed

+4169
-0
lines changed

.babelrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"presets": [
3+
"es2015"
4+
]
5+
}

.gitignore

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
.idea
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
*.pid.lock
13+
14+
# Directory for instrumented libs generated by jscoverage/JSCover
15+
lib-cov
16+
17+
# Coverage directory used by tools like istanbul
18+
coverage
19+
20+
# nyc test coverage
21+
.nyc_output
22+
23+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24+
.grunt
25+
26+
# Bower dependency directory (https://bower.io/)
27+
bower_components
28+
29+
# node-waf configuration
30+
.lock-wscript
31+
32+
# Compiled binary addons (http://nodejs.org/api/addons.html)
33+
build/Release
34+
35+
# Dependency directories
36+
node_modules/
37+
jspm_packages/
38+
39+
# Typescript v1 declaration files
40+
typings/
41+
42+
# Optional npm cache directory
43+
.npm
44+
45+
# Optional eslint cache
46+
.eslintcache
47+
48+
# Optional REPL history
49+
.node_repl_history
50+
51+
# Output of 'npm pack'
52+
*.tgz
53+
54+
# Yarn Integrity file
55+
.yarn-integrity
56+
57+
# dotenv environment variables file
58+
.env
59+

.npmignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.DS_Store
2+
node_modules/
3+
.gitignore
4+
.npmignore
5+
.git/
6+
.idea/
7+
.svn/
8+
test/

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018 zhangmingfeng
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# time-format
2+
javascript time&date simple format
3+
4+
# install
5+
npm install date-simple-format --save
6+
7+
# example
8+
const format = require("date-simple-format");
9+
10+
11+
let time1 = format();
12+
13+
console.log(`time1:${time1}`);
14+
15+
16+
let time2 = format("Sun Feb 25 2018 10:57:39 GMT+0800 (CST)", "yyyy-MM-dd");
17+
18+
console.log(`time2:${time2}`);
19+
20+
21+
let time3 = format(1519527578, "yyyy-MM-dd hh:mm:ss");
22+
23+
console.log(`time3:${time3}`);
24+
25+
--result
26+
27+
time1:10:55:08
28+
29+
time2:2018-02-25
30+
31+
time3:2018-02-25 10:59:38
32+
33+
34+

dist/format.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
'use strict';
2+
const format = (time, fmt) => {
3+
fmt = fmt || 'hh:mm:ss';
4+
let nowTime = new Date();
5+
if (typeof time === 'string') {
6+
nowTime = new Date(time);
7+
} else if (typeof time === 'number') {
8+
nowTime = new Date(time * 1000);
9+
}
10+
const o = {
11+
'M+': nowTime.getMonth() + 1,
12+
'd+': nowTime.getDate(),
13+
'h+': nowTime.getHours(),
14+
'm+': nowTime.getMinutes(),
15+
's+': nowTime.getSeconds(),
16+
'q+': Math.floor((nowTime.getMonth() + 3) / 3),
17+
S: nowTime.getMilliseconds(),
18+
};
19+
if (/(y+)/.test(fmt)) {
20+
fmt = fmt.replace(RegExp.$1, (`${nowTime.getFullYear()}`).substr(4 - RegExp.$1.length));
21+
}
22+
const keys = Object.keys(o);
23+
keys.forEach((k) => {
24+
if (new RegExp(`(${k})`).test(fmt)) {
25+
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length)));
26+
}
27+
});
28+
return fmt;
29+
};
30+
31+
module.exports = format;
32+
33+

0 commit comments

Comments
 (0)