🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@rickyhuang/timeutil

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rickyhuang/timeutil - npm Package Compare versions

Comparing version
0.0.2
to
0.0.3
+98
-56
.idea/workspace.xml

@@ -5,4 +5,5 @@ <?xml version="1.0" encoding="UTF-8"?>

<list default="true" id="d628b1a0-fa57-4adb-8fff-4551b6ce9d43" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/lib/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/index.test.js" beforeDir="false" afterPath="$PROJECT_DIR$/tests/index.test.js" afterDir="false" />
</list>

@@ -16,10 +17,10 @@ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />

<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.83588487">
<splitter split-orientation="horizontal" split-proportion="0.5548743">
<split-first>
<leaf>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="95">
<caret line="5" column="14" lean-forward="true" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
<state relative-caret-position="152">
<caret line="8" column="11" lean-forward="true" selection-start-line="8" selection-start-column="11" selection-end-line="8" selection-end-column="11" />
</state>

@@ -30,2 +31,11 @@ </provider>

<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="418">
<caret line="25" column="5" lean-forward="true" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/README.md">

@@ -45,8 +55,8 @@ <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">

<split-second>
<leaf>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/tests/index.test.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="76">
<caret line="4" column="37" selection-start-line="4" selection-start-column="19" selection-end-line="4" selection-end-column="37" />
<state relative-caret-position="133">
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
</state>

@@ -74,7 +84,7 @@ </provider>

<option value="$PROJECT_DIR$/.editorconfig" />
<option value="$PROJECT_DIR$/lib/cli.js" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/src/index.js" />
<option value="$PROJECT_DIR$/lib/index.js" />
<option value="$PROJECT_DIR$/tests/index.test.js" />
<option value="$PROJECT_DIR$/lib/cli.js" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/package.json" />

@@ -98,2 +108,3 @@ </list>

<panes>
<pane id="PackagesPane" />
<pane id="Scope" />

@@ -126,3 +137,2 @@ <pane id="ProjectPane">

</pane>
<pane id="PackagesPane" />
</panes>

@@ -133,5 +143,5 @@ </component>

<property name="aspect.path.notification.shown" value="true" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1551339518842" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1551339576543" />
<property name="editor.config.ad.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../Garmin/dailyTest" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />

@@ -167,3 +177,5 @@ <property name="nodejs_npm_path_reset_for_default_project" value="true" />

<updated>1551336573862</updated>
<workItem from="1551336575053" duration="2941000" />
<workItem from="1551336575053" duration="3039000" />
<workItem from="1551342794877" duration="1887000" />
<workItem from="1551348008205" duration="340000" />
</task>

@@ -191,7 +203,21 @@ <task id="LOCAL-00001" summary="util finish">

</task>
<option name="localTasksCounter" value="4" />
<task id="LOCAL-00004" summary="update readme doc,version">
<created>1551339533023</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1551339533023</updated>
</task>
<task id="LOCAL-00005" summary="simplify main function">
<created>1551348296737</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1551348296737</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="2941000" />
<option name="totallyTimeSpent" value="5266000" />
</component>

@@ -202,14 +228,9 @@ <component name="ToolWindowManager">

<layout>
<window_info id="Image Layers" />
<window_info id="Designer" />
<window_info id="UI Designer" />
<window_info id="Capture Tool" />
<window_info id="Favorites" side_tool="true" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.12953092" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.13166311" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
<window_info anchor="bottom" id="Database Changes" />
<window_info anchor="bottom" id="Version Control" weight="0.31127983" />
<window_info active="true" anchor="bottom" id="Terminal" visible="true" weight="0.45119306" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info id="Image Layers" order="2" />
<window_info id="Designer" order="3" />
<window_info id="UI Designer" order="4" />
<window_info id="Capture Tool" order="5" />
<window_info id="Favorites" order="6" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />

@@ -222,11 +243,16 @@ <window_info anchor="bottom" id="Find" order="1" />

<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Palette" />
<window_info anchor="right" id="Theme Preview" />
<window_info anchor="right" id="Maven" />
<window_info anchor="right" id="Capture Analysis" />
<window_info anchor="right" id="Palette&#9;" />
<window_info anchor="right" id="Database" />
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="8" weight="0.31127983" />
<window_info anchor="bottom" id="Database Changes" order="9" />
<window_info anchor="bottom" id="Terminal" order="10" visible="true" weight="0.34924078" />
<window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="right" id="Theme Preview" order="4" />
<window_info anchor="right" id="Maven" order="5" />
<window_info anchor="right" id="Capture Analysis" order="6" />
<window_info anchor="right" id="Palette&#9;" order="7" />
<window_info anchor="right" id="Database" order="8" />
</layout>

@@ -262,2 +288,16 @@ </component>

</option>
<option name="RECENT_FILTERS">
<map>
<entry key="Branch">
<value>
<list />
</value>
</entry>
<entry key="User">
<value>
<list />
</value>
</entry>
</map>
</option>
</component>

@@ -268,3 +308,5 @@ <component name="VcsManagerConfiguration">

<MESSAGE value="update readme doc" />
<option name="LAST_COMMIT_MESSAGE" value="update readme doc" />
<MESSAGE value="update readme doc,version" />
<MESSAGE value="simplify main function" />
<option name="LAST_COMMIT_MESSAGE" value="simplify main function" />
</component>

@@ -285,20 +327,23 @@ <component name="editorHistoryManager">

</entry>
<entry file="file://$PROJECT_DIR$/lib/index.js">
<entry file="file://$PROJECT_DIR$/lib/cli.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="530">
<caret line="67" lean-forward="true" selection-start-line="67" selection-end-line="67" />
<state>
<caret column="19" selection-start-column="19" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="416">
<caret line="65" lean-forward="true" selection-end-line="67" />
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="19">
<caret line="1" column="46" selection-start-line="1" selection-start-column="46" selection-end-line="1" selection-end-column="46" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/cli.js">
<entry file="file://$PROJECT_DIR$/lib/index.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="19" selection-start-column="19" selection-end-column="19" />
<state relative-caret-position="589">
<caret line="31" lean-forward="true" selection-start-line="31" selection-end-line="31" />
</state>

@@ -309,14 +354,11 @@ </provider>

<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="76">
<caret line="4" column="37" selection-start-line="4" selection-start-column="19" selection-end-line="4" selection-end-column="37" />
<state relative-caret-position="133">
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="19">
<caret line="1" column="46" selection-start-line="1" selection-start-column="46" selection-end-line="1" selection-end-column="46" />
</first_editor>
<second_editor />
<entry file="file://$PROJECT_DIR$/src/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="418">
<caret line="25" column="5" lean-forward="true" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
</state>

@@ -327,4 +369,4 @@ </provider>

<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="95">
<caret line="5" column="14" lean-forward="true" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
<state relative-caret-position="152">
<caret line="8" column="11" lean-forward="true" selection-start-line="8" selection-start-column="11" selection-end-line="8" selection-end-column="11" />
</state>

@@ -331,0 +373,0 @@ </provider>

'use strict';
/**
* @param {Number} timestamp eg:1551323702241
* @param {Number} timeStamp eg:1551323702241
* @param {String} formatter eg:yyyy-MM-dd yyyy/MM/dd yyyy-M-d yyyy/M/d yyyy-MM-dd hh:mm:ss
* */
function Timestamp2String(timestamp,formatter) {
let year=new Date(timestamp).getFullYear();
let month=new Date(timestamp).getMonth()+1;
let day=new Date(timestamp).getDate();
let hour=new Date(timestamp).getHours();
let minutes=new Date(timestamp).getMinutes();
let seconds=new Date(timestamp).getSeconds();
let monthFormatter=formatter.match(/[M]{1,2}/g);
let dateFormatter=formatter.match(/[d]{1,2}/g);
let hourFormatter=formatter.match(/[h]{1,2}/g);
let minutesFormatter=formatter.match(/[m]{1,2}/g);
let secondsFormatter=formatter.match(/[s]{1,2}/g);
if(monthFormatter && monthFormatter.join("").length===2){
month=handleDouble(month)
}
if(dateFormatter && dateFormatter.join("").length===2){
day=handleDouble(day)
}
if(hourFormatter && hourFormatter.join("").length===2){
hour=handleDouble(hour)
}
if(minutesFormatter && minutesFormatter.join("").length===2){
minutes=handleDouble(minutes)
}
if(secondsFormatter && secondsFormatter.join("").length===2){
seconds=handleDouble(seconds)
}
let format=formatter;
while(/[A-z]+/.test(format)){
if(format.match(/(y){1,4}/g)){
format=format.replace((format.match(/(y){1,4}/g)).join(""),year);
function Timestamp2String(timeStamp,formatter){
let date=new Date(timeStamp);
let obj={
"y+":date.getFullYear(),
"M+":date.getMonth()+1,
"d+":date.getDate(),
"h+":date.getHours(),
"m+":date.getMinutes(),
"s+":date.getSeconds()
};
for(let item in obj){
if(new RegExp("("+item+")").test(formatter)){
formatter=formatter.replace(RegExp.$1,(RegExp.$1.length>1 ? handleDouble(obj[item]) : obj[item]))
}
if(format.match(/(M){1,2}/g)){
format=format.replace((format.match(/(M){1,2}/g)).join(""),month);
}
if(format.match(/(d){1,2}/g)){
format=format.replace((format.match(/(d){1,2}/g)).join(""),day);
}
if(format.match(/(h){1,2}/g)){
format=format.replace((format.match(/(h){1,2}/g)).join(""),hour);
}
if(format.match(/(m){1,2}/g)){
format=format.replace((format.match(/(m){1,2}/g)).join(""),minutes);
}
if(format.match(/(s){1,2}/g)){
format=format.replace((format.match(/(s){1,2}/g)).join(""),seconds);
}
}
return format
return formatter
}
/**

@@ -60,0 +24,0 @@ * @param {Number,String} para

{
"name": "@rickyhuang/timeutil",
"version": "0.0.2",
"version": "0.0.3",
"description": "util library",

@@ -5,0 +5,0 @@ "main": "index.js",

'use strict';
/**
* @param {Number} timestamp eg:1551323702241
* @param {Number} timeStamp eg:1551323702241
* @param {String} formatter eg:yyyy-MM-dd yyyy/MM/dd yyyy-M-d yyyy/M/d yyyy-MM-dd hh:mm:ss
* */
function Timestamp2String(timestamp,formatter) {
let year=new Date(timestamp).getFullYear();
let month=new Date(timestamp).getMonth()+1;
let day=new Date(timestamp).getDate();
let hour=new Date(timestamp).getHours();
let minutes=new Date(timestamp).getMinutes();
let seconds=new Date(timestamp).getSeconds();
let monthFormatter=formatter.match(/[M]{1,2}/g);
let dateFormatter=formatter.match(/[d]{1,2}/g);
let hourFormatter=formatter.match(/[h]{1,2}/g);
let minutesFormatter=formatter.match(/[m]{1,2}/g);
let secondsFormatter=formatter.match(/[s]{1,2}/g);
if(monthFormatter && monthFormatter.join("").length===2){
month=handleDouble(month)
}
if(dateFormatter && dateFormatter.join("").length===2){
day=handleDouble(day)
}
if(hourFormatter && hourFormatter.join("").length===2){
hour=handleDouble(hour)
}
if(minutesFormatter && minutesFormatter.join("").length===2){
minutes=handleDouble(minutes)
}
if(secondsFormatter && secondsFormatter.join("").length===2){
seconds=handleDouble(seconds)
}
let format=formatter;
while(/[A-z]+/.test(format)){
if(format.match(/(y){1,4}/g)){
format=format.replace((format.match(/(y){1,4}/g)).join(""),year);
function Timestamp2String(timeStamp,formatter){
let date=new Date(timeStamp);
let obj={
"y+":date.getFullYear(),
"M+":date.getMonth()+1,
"d+":date.getDate(),
"h+":date.getHours(),
"m+":date.getMinutes(),
"s+":date.getSeconds()
};
for(let item in obj){
if(new RegExp("("+item+")").test(formatter)){
formatter=formatter.replace(RegExp.$1,(RegExp.$1.length>1 ? handleDouble(obj[item]) : obj[item]))
}
if(format.match(/(M){1,2}/g)){
format=format.replace((format.match(/(M){1,2}/g)).join(""),month);
}
if(format.match(/(d){1,2}/g)){
format=format.replace((format.match(/(d){1,2}/g)).join(""),day);
}
if(format.match(/(h){1,2}/g)){
format=format.replace((format.match(/(h){1,2}/g)).join(""),hour);
}
if(format.match(/(m){1,2}/g)){
format=format.replace((format.match(/(m){1,2}/g)).join(""),minutes);
}
if(format.match(/(s){1,2}/g)){
format=format.replace((format.match(/(s){1,2}/g)).join(""),seconds);
}
}
return format
return formatter
}
/**

@@ -60,0 +24,0 @@ * @param {Number,String} para

@@ -1,7 +0,7 @@

const Timestamp2String=require("../lib");
const Timestamp2String=require("../src/index");
describe("util test",()=>{
test("result should be 2019-2-28 13:57:35",()=>{
expect(Timestamp2String(1551333455538,"yyyy-M-d hh:mm:ss"))
.toBe("2019-2-28 13:57:35")
expect(Timestamp2String(1551333455538,"yyyy年M月d日 hh:mm:ss"))
.toBe("2019年2月28日 13:57:35")
})
});