From e64ea92c7fe1f7b25a0fcfe0165a34505fcaf6fb Mon Sep 17 00:00:00 2001 From: akash Date: Wed, 27 Jun 2018 03:34:07 +0530 Subject: [PATCH 1/3] adding timeConversion function --- src/timeConversion.js | 36 ++++++++++++++++++++++++++++++++++++ test/timeConversion.test.js | 16 ++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/timeConversion.js create mode 100644 test/timeConversion.test.js diff --git a/src/timeConversion.js b/src/timeConversion.js new file mode 100644 index 00000000..e436c39d --- /dev/null +++ b/src/timeConversion.js @@ -0,0 +1,36 @@ +export default timeConversion; +/** + * + * This method will convert time in 12 hours format to 24 hours format + * + * @param {String} time - time in 12 hours format example 01:12:45AM or 06:48:56PM + * @return {String} - converted time in 24 hours example 01:12:45 or 18:48:56 + */ + +function timeConversion(time){ + var convertedTime= time.substr(2,6); + if(time.charAt(8)=="A") + { + if(time.charAt(0)=="1" && time.charAt(1)=="2") + { + convertedTime= "00"+convertedTime; + } + else + convertedTime= time.substr(0,2)+convertedTime; + } + else + { + if(time.charAt(0)=="1" && time.charAt(1)=="2") + { + convertedTime= "12"+convertedTime; + } + else{ + var a = time.substr(0,2); + var b = Number(a); + var c = (b+12)+""; + convertedTime= c+convertedTime; + + } + } + return convertedTime +} \ No newline at end of file diff --git a/test/timeConversion.test.js b/test/timeConversion.test.js new file mode 100644 index 00000000..e0fff610 --- /dev/null +++ b/test/timeConversion.test.js @@ -0,0 +1,16 @@ +import test from 'ava' +import timeConversion from '../src/timeConversion' + +test('returns the time in 24 hours format', time => { + const timeGiven = "01:12:48AM" + const expectedTime = "01:12:48" + const actualTime = timeConversion(timeGiven); + time.is(actualTime, expectedTime) + }) + + test('returns the time in 24 hours format', time => { + const timeGiven = "06:48:56PM" + const expectedTime = "18:48:56" + const actualTime = timeConversion(timeGiven); + time.is(actualTime, expectedTime) + }) \ No newline at end of file From b2d4d931605eebcb8535ce356984b165cb176af1 Mon Sep 17 00:00:00 2001 From: akash Date: Wed, 27 Jun 2018 03:55:43 +0530 Subject: [PATCH 2/3] minor --- src/timeConversion.js | 53 +++++++++++++++++-------------------- test/timeConversion.test.js | 6 ++--- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/timeConversion.js b/src/timeConversion.js index e436c39d..d9b4d5cd 100644 --- a/src/timeConversion.js +++ b/src/timeConversion.js @@ -1,4 +1,5 @@ -export default timeConversion; +export default timeConversions + /** * * This method will convert time in 12 hours format to 24 hours format @@ -7,30 +8,26 @@ export default timeConversion; * @return {String} - converted time in 24 hours example 01:12:45 or 18:48:56 */ -function timeConversion(time){ - var convertedTime= time.substr(2,6); - if(time.charAt(8)=="A") - { - if(time.charAt(0)=="1" && time.charAt(1)=="2") - { - convertedTime= "00"+convertedTime; - } - else - convertedTime= time.substr(0,2)+convertedTime; - } - else - { - if(time.charAt(0)=="1" && time.charAt(1)=="2") - { - convertedTime= "12"+convertedTime; - } - else{ - var a = time.substr(0,2); - var b = Number(a); - var c = (b+12)+""; - convertedTime= c+convertedTime; - - } - } - return convertedTime -} \ No newline at end of file +function timeConversions(time) { + + let convertedTime= time.substr(2, 6) + if(time.charAt(8)==='A'){ + if(time.charAt(0)==='1' && time.charAt(1)==='2'){ + convertedTime= '00'+convertedTime + } + else + convertedTime= time.substr(0, 2)+convertedTime + } + else{ + if(time.charAt(0)==='1' && time.charAt(1)==='2'){ + convertedTime= '12'+convertedTime + } + else{ + let a = time.substr(0, 2) + let b = Number(a) + let c = (b+12)+'' + convertedTime= c+convertedTime + } + } + return convertedTime + } \ No newline at end of file diff --git a/test/timeConversion.test.js b/test/timeConversion.test.js index e0fff610..1a6cee8c 100644 --- a/test/timeConversion.test.js +++ b/test/timeConversion.test.js @@ -1,16 +1,16 @@ import test from 'ava' -import timeConversion from '../src/timeConversion' +import timeConversions from '../src/timeConversion' test('returns the time in 24 hours format', time => { const timeGiven = "01:12:48AM" const expectedTime = "01:12:48" - const actualTime = timeConversion(timeGiven); + const actualTime = timeConversions(timeGiven) time.is(actualTime, expectedTime) }) test('returns the time in 24 hours format', time => { const timeGiven = "06:48:56PM" const expectedTime = "18:48:56" - const actualTime = timeConversion(timeGiven); + const actualTime = timeConversions(timeGiven) time.is(actualTime, expectedTime) }) \ No newline at end of file From fb31533370a40f91e915a6aa90b63aeefdd3190a Mon Sep 17 00:00:00 2001 From: akash Date: Wed, 27 Jun 2018 20:23:07 +0530 Subject: [PATCH 3/3] changes --- src/timeConversion.js | 55 ++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/timeConversion.js b/src/timeConversion.js index d9b4d5cd..86b88df1 100644 --- a/src/timeConversion.js +++ b/src/timeConversion.js @@ -1,33 +1,34 @@ -export default timeConversions +export default timeConversion /** - * - * This method will convert time in 12 hours format to 24 hours format - * - * @param {String} time - time in 12 hours format example 01:12:45AM or 06:48:56PM - * @return {String} - converted time in 24 hours example 01:12:45 or 18:48:56 - */ +* Original Source: https://stackoverflow.com/questions/46883149 +* This method will calculate the time difference +* between two time values +* +* @param {String} startTime - string with the start time in hh:mm format +* @param {String} endTime - string with the end time in hh:mm format +* @return {String} - should return a string with the time difference in hh:mm format +*/ -function timeConversions(time) { - - let convertedTime= time.substr(2, 6) - if(time.charAt(8)==='A'){ - if(time.charAt(0)==='1' && time.charAt(1)==='2'){ - convertedTime= '00'+convertedTime +function timeConversion(time) { + + let convertedTime = time.substr(2, 6) + if (time.charAt(8) === 'A') { + if (time.charAt(0) === '1' && time.charAt(1) === '2') { + convertedTime = '00'.concat(convertedTime) + } else { + convertedTime = time.substr(0, 2) + convertedTime + } } - else - convertedTime= time.substr(0, 2)+convertedTime + if (time.charAt(8) === 'P') { + if (time.charAt(0) === '1' && time.charAt(1) === '2') { + convertedTime = '12'.concat(convertedTime) + } else { + const a = time.substr(0, 2) + const b = Number(a) + const c = (b + 12).toString() + convertedTime = c.concat(convertedTime) + } } - else{ - if(time.charAt(0)==='1' && time.charAt(1)==='2'){ - convertedTime= '12'+convertedTime - } - else{ - let a = time.substr(0, 2) - let b = Number(a) - let c = (b+12)+'' - convertedTime= c+convertedTime - } - } return convertedTime - } \ No newline at end of file +}