Scratch 之 “2000年至今的天数”积木 的用法

2000年至今的天数

2000年至今的天数

看起来,这块积木好像没有什么用,2000年还是固定的一个值,不能输入。点一下它,可以看到返回了一个小数位数特别多的数。

但实际上,这块积木有着非常多的作用。在很多自制积木包中都用到了这块积木。下面,我演示这块积木的作用。


1.计算精确的时间(时、分、秒、毫秒等)

公式如下:

        [2000年至今的天数×单位大一级与天的进率-向下取整 (2000年至今的天数×单位大一级与天的进率)]×单位与大一级的单位的进率

        是不是有一点难理解,没关系,让我们看一个示例。

        我们要求精确的秒,比秒大一级的单位是分,分与秒的进率是60,分与天的进率是1440(24×60),那么,代入公式,就变成了下面这样。

        和当前时间的秒做对比,可以看到确实更精确。原理就是先算出过的秒数,(向下取整得到小数部分)再乘60就得到精确的秒数。不过有一点要注意,精确的时间就已经包含了下一级的时间了,所以不能又精确分又精确秒,这样是不正确的,所以建议只精确在最后一位。


2.永不停止

        众所周知,Scratch3中的计时器每次点绿旗时都会归零,不管有没有运行计时器归零这块积木。但是2000年至今的天数不会,它永远不会停止,关闭作品再打开也没有影响,还可以跨作品连接。并且精度超级高。经本人测试,它可以精确到微秒,但没有到纳秒。公式如下:

        2000年至今的天数×天与你想求的单位的进率

        如果我们要求2000年至今的微秒数,就可以这样求:

2000年至今的微秒的计算公式(1000000是微秒与秒的进率)

        2000年至今的微秒的计算公式(1000000是微秒与秒的进率)

        另外,这块积木返回的是UTC标准时间,和北京时间有8小时时差(UTC+8),所以如果用它来计算时间,要加上8小时才能得出北京时间。


3.本人的设想

        由于可以跨作品,所以可以做出这样一种程序:2000年至今的天数大于一个数字时,很多作品同时触发特定程序(比如跨年倒计时)

        另外,我很好奇,如果把电脑的时间修改成小于2000年,这块积木会返回正数还是负数呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗者才子酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值