DEV Community

Cover image for Time conversion

Time conversion

Klecianny Melo on March 01, 2024

Prepare your favorite cup of coffee because we are about to enter the fantastic world of Time conversion. What is a time conversion? A ...
Collapse
 
michaeltharrington profile image
Michael Tharrington

Yo! This is a really interesting and helpful post, Kleciann. Appreciate ya sharing! 🙌

So, this isn't related to converting 12- to 24-hour time formats, but there's something I've been wondering in regards to coding time... do you know if there's anything special that needs to be done to account for leap year? I reckon once every four years the calendar needs to add in another day for February, but I wonder what the approaches for this are...

Collapse
 
kecbm profile image
Klecianny Melo

Hello @michaeltharrington, how are you? Thinking about it, I think that whether the year is a leap year or not will not affect this hour conversion scenario. Because every 4 years we have 1 extra day in February, I believe it only affects the conversion of days. It makes sense? 🤔

Collapse
 
michaeltharrington profile image
Michael Tharrington

That does make sense, Klecianny! Appreciate ya hitting me back. Sounds like it's mot so much a time problem (as in clock) but more of a date issue (calendars)... got it!

Thread Thread
 
kecbm profile image
Klecianny Melo

Sounds is great! I thank you for your contribution to the article @michaeltharrington! I was thinking about this issue these days and realized this point I mentioned. I look forward to seeing you in the next posts so we can reflect on code or a career in technology 😁

Collapse
 
kecbm profile image
Klecianny Melo

Hello @michaeltharrington, how are you? I studied the resolution to the time conversion problem only in this initial format. It's true, we have leap years like 2024, with 1 extra day in February. There must be an algorithm that takes this information into account. Thank you for your contribution! 😁

Collapse
 
michaeltharrington profile image
Michael Tharrington

Heyo! Doing well, thankya. 😀

No worries, totally understand that my question is kinda beyond the scope of this article. The two are connected because they are both about time, but def handled by different things. Anywho, really dig your article and thanks again for sharing with us. 🙌

Thread Thread
 
kecbm profile image
Klecianny Melo

It's true, your question complements my development because it relates to time. Thank you for the complement! 😁

Collapse
 
jdlarsen1945 profile image
James Larsen

How does the 3rd line compile if 'hour' is a constant?

Collapse
 
kecbm profile image
Klecianny Melo

Hello @jdlarsen1945, how are you? In JavaScript, the const keyword is used to declare constants, which means that the variable cannot be reassigned. However, it does not mean that the value itself is immutable. In this code snippet, the variable hour is initially declared using const, but the value of hour is being updated in the subsequent lines of code based on conditions.

The initial declaration with const only prevents reassignment of the variable hour, not the modification of the value itself. So, in the third line, hour is being reassigned a new value based on a conditional expression, which is allowed even though it was originally declared as a constant.

In summary, while const prevents reassignment of variables, it does not make the value immutable. Therefore, the third line of the code snippet is valid and compiles without any issues 😁

Collapse
 
jdlarsen1945 profile image
James Larsen

Sorry, I am not Java Programmer and I didn't know the code was in Java. (I am a C, C+, C++, C# programmer) In those languages, Constants are constant! and not Immutable. Sorry for the confusion, but in my world constant means immutable, the exact opposite of variable! Thank you for the education!

Thread Thread
 
kecbm profile image
Klecianny Melo

Alright @jdlarsen1945, I thank you for your contribution to the article. Every discussion is valid, we can always learn something new together. I look forward to seeing you in the next posts so we can reflect on code or a career in technology! 😁

Collapse
 
rcalvanese profile image
rcalvanese

Actually, I am pretty sure this will error. You cannot reassign a value to hour once it has been assigned the value of "07". "Uncaught SyntaxError: Identifier 'hour' has already been declared"

Thread Thread
 
kecbm profile image
Klecianny Melo

Hi @rcalvanese, how are you? How did you run the code? Was it with another string for the time in the constant "s"?

Thread Thread
 
rcalvanese profile image
rcalvanese

Hi! I ran it here jsfiddle.net/cx9pa41n/

Thread Thread
 
kecbm profile image
Klecianny Melo

Hi! I understood. You can replace const with var in this line to resolve this error: var [hour, minute, second] = s.slice(0,8).split(':');

Collapse
 
anthonyvii profile image
Anthony Vinicius

Working with time is so complex... Great content!!

Collapse
 
kecbm profile image
Klecianny Melo

It's true, it's one of the complex issues we have in algorithms. Thanks my friend!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

really interesting! I'll try this algorithm soon :D

Collapse
 
kecbm profile image
Klecianny Melo

Amazing! Let's go together my friend! 😁

Collapse
 
guim0 profile image
Guimo

Love it! working with time can be a great headache, a great and very useful article.

Collapse
 
kecbm profile image
Klecianny Melo

It's true, time is a sensitive topic in terms of code. Thank you very much! 😁

Collapse
 
rayanny_bezerra_563386fb7 profile image
Rayanny Bezerra

Great article, study leetcode is a key of success!

Collapse
 
kecbm profile image
Klecianny Melo

Sounds great! Thank you for this contribution Ray ❤️