Java Script制作网页实时时钟,与实时时间一致(提供源码和资源下载),点赞加关注更多案例持续更新~

下载链接:

http://链接:https://pan.baidu.com/s/1c-4NSvi0uwA9_KU5g5bpNQ?pwd=r02t 提取码:r02t

效果动图,此效果图的时间为当时录制的时间,实际运行起来的时间为实时时间

3e54f4e0696b4956925919c570bac03c.gif

 思路

 1. 创建日期对象 获取当前时间
 2. 多次定时器,重复获取时间,让指针动起来

 3.计算好时针分针秒针每走一次的角度变化

  Date对象的一些常用属性和方法:

获取:

  1. getFullYear(): 返回四位数的年份。

  2. getMonth(): 返回月份,范围是0-11。

  3. getDate(): 返回月份中的日期,范围是1-31。

  4. getHours(): 返回小时,范围是0-23。

  5. getMinutes(): 返回分钟,范围是0-59。

  6. getSeconds(): 返回秒数,范围是0-59。

  7. getTime(): 返回自1970年1月1日00:00:00 UTC至该日期对象的毫秒数。

  8. getDay(): 返回一周中的第几天,范围是0-6,其中0代表星期日。

  9. getHours(): 返回本地的小时,范围是0-23。

  10. getUTCHours(): 返回UTC(协调世界时)的小时数,范围是0-23。

设置:

  1. setFullYear(year): 设置四位数的年份。

  2. setMonth(month): 设置月份,范围是0-11。

  3. setDate(date): 设置月份中的日期,范围是1-31。

  4. setHours(hours): 设置小时,范围是0-23。

  5. setMinutes(minutes): 设置分钟,范围是0-59。

  6. setSeconds(seconds): 设置秒数,范围是0-59。

  7. setMilliseconds(milliseconds): 设置毫秒数,范围是0-999。

  8. getTime(): 返回自1970年1月1日00:00:00 UTC至该日期对象的毫秒数。

  9. getDay(): 返回一周中的第几天,范围是0-6,其中0代表星期日。

  10. getHours(): 返回本地的小时,范围是0-23。

  11. getUTCHours(): 返回UTC(协调世界时)的小时数,范围是0-23。

补充:

  1. toString():将日期转换为字符串。

  2. toLocaleDateString():将日期转换为本地格式的字符串。

  3. toTimeString():将时间转换为字符串。

  4. toLocaleTimeString():将时间转换为本地格式的字符串。

详细注释都在代码中,直接放上完整代码

<!DOCTYPE html>
<html lang="en">
<!-- 文档类型声明声明为 HTML5,语言为英语 -->
<head>
  <meta charset="UTF-8">
  <title>网页实时时钟(图形版)</title>
  <!-- 设置字符编码和页面标题 -->
  <style>
    /* CSS 样式 */
    * {
      box-sizing: border-box;
    }
    /* 重置样式表 */
    .clock {
      width: 600px;
      height: 600px;
      background: url(./images/clock.jpg) no-repeat;
      margin: 50px auto 0;
      position: relative;
    }
    /* 时钟盘的样式定义 */
    .hh,
    .mm,
    .ss {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: url(./images/hour.png) no-repeat center;
    }
    /* 时针的样式定义 */
    .mm {
      background-image: url(./images/minute.png);
      transform: rotate(0deg);
    }
    /* 分针的样式定义 */
    .ss {
      background-image: url(./images/second.png);
      transform: rotate(0deg);
    }
  </style>
</head>
<!-- HTML 页面主体部分 -->
<body>
  <div class="clock">
    <!-- 时钟盘的 html 结构 -->
    <div class="hh" id="h"></div>
    <div class="mm" id="m"></div>
    <div class="ss" id="s"></div>
  </div>
  <!-- JavaScript 代码 -->
  <script>
    /*
      知识点:
        1. 创建日期对象 获取当前时间
        2. 多次定时器,重复获取时间,让指针动起来
    */

    const hour = document.querySelector('.hh') // 获取时针 div 元素
    const minute = document.querySelector('.mm') // 获取分针 div 元素
    const second = document.querySelector('.ss') // 获取秒针 div 元素
    const nowTime = setInterval(function () {
      let nowDate = new Date() // 创建日期对象,获取当前时间
      const nowHour = nowDate.getHours() // 获取当前小时数
      const nowMinute = nowDate.getMinutes() // 获取当前分钟数
      const nowSecond = nowDate.getSeconds() // 获取当前秒数
      hour.style.transform = `rotate(${nowHour * 30}deg)` // 按照小时数计算旋转角度
      minute.style.transform = `rotate(${nowMinute * 6}deg)` // 按照分钟数计算旋转角度
      second.style.transform = `rotate(${nowSecond * 6}deg)` // 按照秒数计算旋转角度
    }, 1000) // 每隔 1 秒执行一次定时器
  </script>
</body>
<!-- HTML 页面结束 -->
</html> 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
下面是一个简单的电子时钟案例使用Java多线程实现: ```java import java.util.Calendar; public class ElectronicClock implements Runnable { private Thread thread; private boolean stop = false; public ElectronicClock() { thread = new Thread(this); thread.start(); } public void run() { while (!stop) { // 获取当前时间 Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); // 输出时间 System.out.printf("%02d:%02d:%02d\n", hour, minute, second); // 等待1秒钟 try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public void stop() { stop = true; } public static void main(String[] args) { ElectronicClock clock = new ElectronicClock(); // 运行10秒钟后停止时钟 try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } clock.stop(); } } ``` 在这个例子中,我们创建了一个`ElectronicClock`类,实现了`Runnable`接口,表示这个类是一个可以运行的线程。在构造函数中,我们创建了一个新的线程并启动它。`run()`方法中,我们使用`Calendar`类获取当前的小时、分钟和秒,并将它们输出到控制台上。然后我们调用`Thread.sleep(1000)`使线程休眠1秒钟,然后再次获取当前时间,输出时间,以此类推。`stop()`方法用于停止时钟。 在`main()`方法中,我们创建了一个`ElectronicClock`实例并启动它。然后我们让程序休眠10秒钟,最后调用`stop()`方法停止时钟

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

十七同志

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

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

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

打赏作者

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

抵扣说明:

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

余额充值