# Solved Convert ticks to minutes and seconds.

Discussion in 'Plugin Development' started by TheEnderCrafter9, Sep 6, 2016.

Thread Status:
Not open for further replies.
1. Offline

### TheEnderCrafter9

Hi, what would be the best way to convert ticks to minutes and seconds?

Every second is 20 game ticks.

I'm thinking of dividing the amount of ticks by 20, then converting it into minutes with the seconds being the modulo, however, I would like to hear from the community if there are better ways.

2. Offline

### DoggyCode™

Well, it's not hard. In java, you can use maths. So

* = times

Code:
```int minute = 20*60;
int hour = minute*60
int day = hour*24
int week = day*7
int month = week*4
int year = month*12

day = 20*60*24```
If that is what you are looking for.

EDIT:
Or do you mean for example directly convert 100 ticks to seconds and minutes for example? Well.

For seconds, you must divide the ticks by 20. For example:
Code:
`100 / 20 = 5 seconds`
so 100 ticks is 5 seconds.

For minutes, you must divide the ticks by 1200 (20*60), in other words, one minute in ticks. For example:
Code:
`5000 / 1200 = 4.16 minutes`
so 5000 ticks is 4.16 minutes.

Last edited: Sep 6, 2016
#2
3. Offline

### FabeGabeMC

A second in ticks = 20 ticks,
so:
1 minute = 20 * 60,
an hour = 20 * 60 * 60,
a day = 20 * 60 * 60 * 24
a year = 20 * 60 * 60 * 24 * 365 (or 366 for leap years)

#3
4. Offline

### TheEnderCrafter9

@FabeGabeMC @DoggyCode™ I know that you can do math in java, I'm looking for a way not to get decimal points but minutes and seconds. Like 4:30, not 4.5 .

5. Offline

### DoggyCode™

60 = 3 seconds
Well, that's not hard at all

I came up with this and it works:
Code:java
`int ticks = 4500; //total ticks long minute = ticks / 1200;long second = ticks / 20 - minute*60; String s = "" + Math.round(minute) + ":" + Math.round(second); System.out.println("" + (ticks) + " tick(s) = " + s + " second(s).");`

I did this and it works perfectly.

Output:
Code:
`4500 tick(s) = 3:45 second(s).`

#5
TheEnderCrafter9 likes this.
6. Offline

### Forge_User_45064837

@TheEnderCrafter9

Ticks to minutes/hours
Code:java
`TimeUnit.MINUTES.toSeconds(1) * 20`

Minutes/hours to ticks
Code:java
`TimeUnit.SECONDS.toMinutes(ticks * 20)`

DoggyCode™ likes this.
7. Offline

### DoggyCode™

Code:java
` I think he wanted it like I did.`

#7
8. Offline

### Forge_User_45064837

@DoggyCode™ I didn't read the replies I only read the title

9. Offline

### DoggyCode™

Same, at the beginning

@TheEnderCrafter9

You can do a simple if/else statement if you don't want to include the ":" when minutes is 0:
Code:java
`int minute = Math.round(ticks / 1200);int second = Math.round(ticks / 20 - minute*60); String s = null; if(minute > 0) {  s = "" + (minute) + ":" + (second);} else {  s = "" + (second);}`

EDIT by Moderator: merged posts, please use the edit button instead of double posting.

Last edited by a moderator: Sep 6, 2016
#9
Thread Status:
Not open for further replies.