DataTime.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div class="box">
  3. <p class="boxDate">{{ dateYear }}
  4. <br>
  5. <div class="boxTime"> {{ dateDay }}
  6. </div>
  7. </p>
  8. </div>
  9. </template>
  10. <script>
  11. import dayjs from "dayjs";
  12. export default {
  13. data() {
  14. return {
  15. dateDay: null,
  16. dateYear: null,
  17. dateWeek: null,
  18. weekday: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
  19. timer: null,
  20. };
  21. },
  22. mounted() {
  23. this.timer = setInterval(() => {
  24. const date = dayjs(new Date());
  25. this.dateDay = date.format("HH:mm:ss");
  26. this.dateYear = date.format("YYYY-MM-DD");
  27. this.dateWeek = date.format(this.weekday[date.day()]);
  28. }, 1000);
  29. },
  30. beforeDestroy() {
  31. if (this.timer) {
  32. clearInterval(this.timer);
  33. }
  34. },
  35. };
  36. </script>
  37. <style scoped>
  38. @charset "UTF-8";
  39. @font-face {
  40. font-family: "TTTGB-Medium";
  41. src: url("@/assets/fonts/fonts/TTTGB-Medium.ttf") format("truetype"),
  42. url("@/assets/fonts/fonts/TTTGB-Medium.eot") format("embedded-opentype"),
  43. url("@/assets/fonts/fonts/TTTGB-Medium.svg") format("svg");
  44. font-weight: normal;
  45. font-style: normal;
  46. }
  47. .box {
  48. height: 100%;
  49. width: 100%;
  50. color: #fff;
  51. display: flex;
  52. align-items: center;
  53. font-family: "TTTGB-Medium", sans-serif !important;
  54. }
  55. .boxDay {
  56. font-size: 16rem;
  57. }
  58. .boxTime {
  59. font-size: 18rem;
  60. margin: 0 16rem;
  61. }
  62. .boxDate {
  63. font-size: 12rem;
  64. }
  65. </style>