Discuss Scratch

Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

Remember this block?

(days since 2000)

I am requesting that you, Scratch Team, replace it with this:

(days since [January v][1 v][2017 v] :: sensing )

To prevent lag, the minimum for the year would be 2000, while the block reports nothing if there is a year above the current year.
The block would not report anything if the year is BC or if it's after the current year.

The reason why I want this block is because it can be an easy way to track how many days since a certain event has happened.

At that time, I wanted to make a 9/11 project, since it was during September, and I wanted to include the days between September 11, 2001, and the current date. But I realized this would be difficult, for the following reasons:
1. Leap years. Difficult to detect.
2. Difficult to track how much time a day has passed, since if you exit out of a project the scripts will stop.
3. Addition and subtraction will be hard since there are months that end at a certain day, (28, 29, 30, 31), and not all of us can easily remember the amount of days the months had.

Scratch is supposed to be easy programming. But since Scratch Team used advanced coding to make even the simplest things, I am 100% sure this block is possible to be added, but I do not believe there can be a workaround about this.

For those who say, “just use the regular block in your workaround”, that would require finding the days between the date you want and the current date, which requires this block, and which can get confusing because of a block in a workaround of that block.

This block should track all the days for you without having to do all the advanced hard work yourself. But I am sure Griffpatch could replicate this block, but still, difficult looking.

If this can be added, I can add this:

say (join [It has been](join (days since [September v][11 v][2001 v] :: sensing )[days since 9/11 has happened.]))

SUPPORTERS (7)
1. Charles12310
2. cul8er
3. FancyFoxy
4. kenny2scratch
5. PrincessTS
6. CODDERJXY
7. Grant70
NO SUPPORTERS
NONE

Last edited by Charles12310 (Sept. 17, 2017 17:33:28)

cul8er
Scratcher
500+ posts

Days Since Any Date Reporter

Yep, would be very useful.
kenny2scratch
Scratcher
500+ posts

Days Since Any Date Reporter

I don't immediately see a workaround for this, so I think this would be pretty good! Support.
einangrun
Scratcher
100+ posts

Days Since Any Date Reporter

Duplicate
Duplicate
Duplicate

Support as long as it can be changed to years, months, weeks, or days since a given date instead of just days.

Last edited by einangrun (Sept. 14, 2017 11:56:12)

CODDERJXY
Scratcher
80 posts

Days Since Any Date Reporter

Charles12310 wrote:

Remember this block?

(days since 2000)

I am requesting that you, Scratch Team, replace it with this:

(days since [January v][1 v][2017 v] :: sensing )

To prevent lag, the minimum for the year would be 2000, while the block reports nothing if there is a year above the current year.
The reason why I want this block is because it can be an easy way to track how many days since a certain event has happened.

I was planning on making a 9/11 project during this time (2 days ago was 9/11), and I wanted to include the days between September 11, 2001, and the current date. But I realized this would be difficult, for the following reasons:
1. Leap years. Difficult to detect.
2. Difficult to track how much time a day has passed, since if you exit out of a project the scripts will stop.
3. Addition and subtraction will be hard since there are months that end at a certain day, (28, 29, 30, 21), and not all of us can easily remember the amount of days the months had.

Scratch is supposed to be easy programming. But since Scratch Team used advanced coding to make even the simplest things, I am 100% sure this block is possible to be added, but I do not believe there can be a workaround about this.

For those who say, “just use the regular block in your workaround”, that would require finding the days between the date you want and the current date, which requires this block, and which can get confusing because of a block in a workaround of that block.

This block should track all the days for you without having to do all the advanced hard work yourself. But I am sure Griffpatch could replicate this block, but still, difficult looking.

If this can be added, I can add this:

say (join [It has been](join (days since [September v][11 v][2001 v] :: sensing )[days since 9/11 has happened.]))

SUPPORTERS
Charles12310
NO SUPPORTERS
NONE
I agree, though one thing you could have done is days since 2000 - the days between 2000 and 2001 9/11. Though, that feature would make it easier.
Note: If you are going to use the trick remember that 2000, 2004, 2008, 2012, 2016… are leap years.
daffy1234
Scratcher
100+ posts

Days Since Any Date Reporter

CODDERJXY wrote:

Note: If you are going to use the trick remember that 2000, 2004, 2008, 2012, 2016… are leap years.
And this is exactly why there are no easy workarounds. Months don't all have the same number of days, and february has 28 or 29 (both different from every other month) based on whether the year is divisible by 4, 100, and 400. Insanity.
daffy1234
Scratcher
100+ posts

Days Since Any Date Reporter

While the number isn't exact, you can get a really good estimate like this.

define days since (month) (day) (year)
set [days since v] to (((year) - (2000)) * (365.2425))
change [days since v] by (((month) - (1)) * (30.436875)) // month = 1 to 12
change [days since v] by (day)
set [days since v] to ((days since 2000) - (days since))

This estimates the days since 9/11/01 as 5847.127 days. My calculator says it's been 5847 days, so it's pretty accurate.

Last edited by daffy1234 (Sept. 14, 2017 20:49:14)

FancyFoxy
Scratcher
500+ posts

Days Since Any Date Reporter

I'd say support! Days since 2000 is honestly a REALLY SPECIFIC block, and it's good to generalize things.
PrincessTS
Scratcher
500+ posts

Days Since Any Date Reporter

Support. I know theres a workaround, but it aint easy.
cul8er
Scratcher
500+ posts

Days Since Any Date Reporter

einangrun wrote:

Duplicate
Duplicate
Duplicate

Support as long as it can be changed to years, months, weeks, or days since a given date instead of just days.
This suggestion is a tiny bit different to those ones because it has dropdowns rather than input.
-Rex-
Scratcher
500+ posts

Days Since Any Date Reporter

Going before 2000 would not increase lag. To workaround this, find the days since 2000 for the date you want (you can either use http://www.elapsedtimecalculator.com/Elapsed-Time-Calculator.aspx or change your computer's clock and use the days since 2000 block to do this), and subtract it from the current days since 2000.

Last edited by -Rex- (Sept. 15, 2017 12:20:54)

pack34
Scratcher
100+ posts

Days Since Any Date Reporter

workaround just do this:

set [ v] to [(days since 2000)

to figure out how many days it is from 2000 currently, then,

set [Day this project was made v] to [put what you got here]

then, make the current date,

set [current date v] to (days since 2000)


then, make this script

set [Days since... v] to ((current date) - (Day this project was made))


hopefully i didnt mess up and i hope i helped, if i asm wrong then plz tell me
Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

(NEVERMIND, BUT STILL NOT 100% RELIABLE)

Last edited by Charles12310 (Sept. 16, 2017 02:00:55)

Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

-Rex- wrote:

Going before 2000 would not increase lag. To workaround this, find the days since 2000 for the date you want (you can either use http://www.elapsedtimecalculator.com/Elapsed-Time-Calculator.aspx or change your computer's clock and use the days since 2000 block to do this), and subtract it from the current days since 2000.
If I were to find out the amount of days since the year AD 1, on January 1st of AD 1, do you even think it is going to not lag?
Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

CODDERJXY wrote:

Charles12310 wrote:

Remember this block?

(days since 2000)

I am requesting that you, Scratch Team, replace it with this:

(days since [January v][1 v][2017 v] :: sensing )

To prevent lag, the minimum for the year would be 2000, while the block reports nothing if there is a year above the current year.
The reason why I want this block is because it can be an easy way to track how many days since a certain event has happened.

I was planning on making a 9/11 project during this time (2 days ago was 9/11), and I wanted to include the days between September 11, 2001, and the current date. But I realized this would be difficult, for the following reasons:
1. Leap years. Difficult to detect.
2. Difficult to track how much time a day has passed, since if you exit out of a project the scripts will stop.
3. Addition and subtraction will be hard since there are months that end at a certain day, (28, 29, 30, 21), and not all of us can easily remember the amount of days the months had.

Scratch is supposed to be easy programming. But since Scratch Team used advanced coding to make even the simplest things, I am 100% sure this block is possible to be added, but I do not believe there can be a workaround about this.

For those who say, “just use the regular block in your workaround”, that would require finding the days between the date you want and the current date, which requires this block, and which can get confusing because of a block in a workaround of that block.

This block should track all the days for you without having to do all the advanced hard work yourself. But I am sure Griffpatch could replicate this block, but still, difficult looking.

If this can be added, I can add this:

say (join [It has been](join (days since [September v][11 v][2001 v] :: sensing )[days since 9/11 has happened.]))

SUPPORTERS
Charles12310
NO SUPPORTERS
NONE
I agree, though one thing you could have done is days since 2000 - the days between 2000 and 2001 9/11. Though, that feature would make it easier.
Note: If you are going to use the trick remember that 2000, 2004, 2008, 2012, 2016… are leap years.
Exactly. That is one of the reasons why workarounds aren't possible. Leap years could cause the real amount to be different actually than the calculated date.
Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

daffy1234 wrote:

While the number isn't exact, you can get a really good estimate like this.

define days since (month) (day) (year)
set [days since v] to (((year) - (2000)) * (365.2425))
change [days since v] by (((month) - (1)) * (30.436875)) // month = 1 to 12
change [days since v] by (day)
set [days since v] to ((days since 2000) - (days since))

This estimates the days since 9/11/01 as 5847.127 days. My calculator says it's been 5847 days, so it's pretty accurate.
yes, but it does not look straightforward, but still useful.
smartzx
Scratcher
100+ posts

Days Since Any Date Reporter

Acturally you can make a really really really complicated workaround if you use
 (current [day v]) 
,
 (current [month v]) 
and
 (current [year v]) 
Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

smartzx wrote:

Acturally you can make a really really really complicated workaround if you use
 (current [day v]) 
,
 (current [month v]) 
and
 (current [year v]) 
Yes, but don't forget:

Charles12310 wrote:

1. Leap years. Difficult to detect.
2. Difficult to track how much time a day has passed, since if you exit out of a project the scripts will stop.
3. Addition and subtraction will be hard since there are months that end at a certain day, (28, 29, 30, 21), and not all of us can easily remember the amount of days the months had.
daffy1234
Scratcher
100+ posts

Days Since Any Date Reporter

Charles12310 wrote:

…not all of us can easily remember the amount of days the months had.

Use the knuckle trick. Make two fists and count on your knuckles.

Charles12310
Scratcher
1000+ posts

Days Since Any Date Reporter

daffy1234 wrote:

Charles12310 wrote:

…not all of us can easily remember the amount of days the months had.

Use the knuckle trick. Make two fists and count on your knuckles.

And how will some dates differ from the other if February 28 is there and the rest are 30?

Powered by DjangoBB