数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1299|回复: 2

[综合] 2022-6-26倒计时(图片)

[复制链接]
发表于 2022-3-1 00:05:39 | 显示全部楼层 |阅读模式
本帖最后由 devcang 于 2022-3-3 07:49 编辑

初级水平;这边中考倒计时,两种语言,C语言和HTML。


<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>2022-6-26倒计时</title>
<style>
h3{text-align:center;line-height:50px;height:50px;margin-top:100px;}
#lblNow{text-align:center; font-size:16px; color:black; }
#lblDif{text-align:center; font-size:36px; color:red; }
</style>
</head>
<body>
<h3>倒计时</h3>
<p id="lblNow">00:00:00</p>
<p id="lblDif">00:00:00</p>
<script>
/** 格式化日期
* @param date 日期
* @param format 格式化样式,例如yyyy-MM-dd HH:mm:ss E
*/
function formatDate(date, v){    //format
    //var v = "";
    if (typeof date == "string" || typeof date != "object") {
        return;
    }
    var year    = date.getFullYear();
    var month   = date.getMonth()+1;
    var day     = date.getDate();
    var hour    = date.getHours();
    var minute  = date.getMinutes();
    var second  = date.getSeconds();
    var weekDay = date.getDay();
    var ms      = date.getMilliseconds();
    var weekDay1="", weekDay2="";
    if (weekDay == 1) {
        weekDay1 = "Monday";
        weekDay2 = "Mon";
    } else if (weekDay == 2) {
        weekDay1 = "Tuesday";
        weekDay2 = "Tue";
    } else if (weekDay == 3) {
        weekDay1 = "Wednesday";
        weekDay2 = "Wed";
    } else if (weekDay == 4) {
        weekDay1 = "Thursday";
        weekDay2 = "Thu";
    } else if (weekDay == 5) {
        weekDay1 = "Friday";
        weekDay2 = "Fri";
    } else if (weekDay == 6) {
        weekDay1 = "Saturday";
        weekDay2 = "Sat";
    } else if (weekDay == 7) {
        weekDay1 = "Sunday";
        weekDay2 = "Sun";
    }

    v = v.replace(/yyyy/g, year);
    v = v.replace(/YYYY/g, year);
    v = v.replace(/yy/g, (year+"").substring(2,4));
    v = v.replace(/YY/g, (year+"").substring(2,4));

    var monthStr = ("0"+month);
    v = v.replace(/MM/g, monthStr.substring(monthStr.length-2));

    var dayStr = ("0"+day);
    v = v.replace(/dd/g, dayStr.substring(dayStr.length-2));

    var hourStr = ("0"+hour);
    v = v.replace(/HH/g, hourStr.substring(hourStr.length-2));
    v = v.replace(/hh/g, hourStr.substring(hourStr.length-2));

    var minuteStr = ("0"+minute);
    v = v.replace(/mm/g, minuteStr.substring(minuteStr.length-2));

    v = v.replace(/sss/g, ms);
    v = v.replace(/SSS/g, ms);

    var secondStr = ("0"+second);
    v = v.replace(/ss/g, secondStr.substring(secondStr.length-2));
    v = v.replace(/SS/g, secondStr.substring(secondStr.length-2));

    v = v.replace(/E/g, weekDay1);
    v = v.replace(/e/g, weekDay2);
    return v;
}
// currentDate = formatDate(cDate, "yyyy-MM-dd");

var lblDif=document.getElementById("lblDif");
var lblNow=document.getElementById("lblNow");
endTime=new Date(2022, 5, 26, 0, 0, 0).getTime();

var timer1 = setInterval("leftTimer()",1000)

function leftTimer(){
    var now=new Date();
    var leftTime = endTime - now; //日期时间差之毫秒数
    var days    = parseInt(leftTime / 1000 / 60 / 60 / 24 , 10);    //计算剩余的天数
    var hours   = parseInt(leftTime / 1000 / 60 / 60 % 24 , 10);    //计算剩余的小时
    var minutes = parseInt(leftTime / 1000 / 60 % 60, 10);            //计算剩余的分钟
    var seconds = parseInt(leftTime / 1000 % 60, 10);                //计算剩余的秒数
    days    = days;
    hours   = hours;
    minutes = minutes;
    seconds = seconds;
    lblNow.innerHTML = formatDate(now, "yyyy-MM-dd HH:mm:ss");
    lblDif.innerHTML = days+"天 " + hours+"小时 " + minutes+"分 "+seconds+"秒";
}

// function checkTime(i){ //将0-9的数字前面加上0,例1变为01
//     return (i<10) ? ("0"+i) : i;
// }
</script>
</body>
</html>
-------------部分素材,采集于网上






#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>#include<math.h>

void main(){
    int days;
    struct tm * tmEnd;
    time_t tNow;
    time_t tEnd;
   
    time(&tNow);
   
    //tmEnd的两种初始化方法
    // tmEnd=localtime(&tNow);
    // printf("Local is:%d-%d-%d %d:%d:%d\n", tmEnd->tm_year+1900,tmEnd->tm_mon+1,tmEnd->tm_mday,
        // tmEnd->tm_hour,tmEnd->tm_min,tmEnd->tm_sec);
        
    tmEnd = malloc(sizeof(struct tm)+1);
    memset(tmEnd, 0, sizeof(struct tm) );
    tmEnd->tm_year=122;tmEnd->tm_mon=5;tmEnd->tm_mday=26; tmEnd->tm_yday=0;
    tmEnd->tm_hour=0;  tmEnd->tm_min=0;tmEnd->tm_sec=0;
    tEnd=mktime(tmEnd);
    days=floor((tEnd-tNow)/86400.0)   // 当天不算
   
    printf("中考倒计时 ");
    printf("\r\n");
    printf("%d-%d-%d -> %d\r\n", tmEnd->tm_year+1900,tmEnd->tm_mon+1,tmEnd->tm_mday, days);
    free(tmEnd);
}

//在arm linux上测试过


图是ARM的显示。暂时还未能去除TTF大字锯齿,应该要换成图片字体才行。
---------------






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
 楼主| 发表于 2022-3-16 16:36:37 | 显示全部楼层
真正的TTF字体,多大的字都不再有那种毛刺




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-3 07:44:08 | 显示全部楼层
命令行程序再修改成这样






#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<math.h>

#include<windows.h>    //Sleep()

void main(){
    double sec;
    int days, hh, mm, ss;
    struct tm * tmEnd;
    time_t tNow,  tEnd;
   
    //tmEnd initializing
    // tmEnd=localtime(&tNow);
    tmEnd = malloc(sizeof(struct tm)+1);
    memset(tmEnd, 0, sizeof(struct tm) );
   
    tmEnd->tm_year=122;tmEnd->tm_mon=5;tmEnd->tm_mday=26; tmEnd->tm_yday=0;
    tmEnd->tm_hour=0;  tmEnd->tm_min=0;tmEnd->tm_sec=0;
    tEnd=mktime(tmEnd);
    system("title CountDown");
    while(1){
        time(&tNow);
        sec=tEnd-tNow;
        days=sec/86400;
        sec=sec-days*86400; hh = sec/3600;
        sec=sec-hh*3600;    mm = sec/60;
        sec=sec-mm*60;      ss = sec;
        printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%d-%02d-%02d -> %ldD%02d:%02d:%02d",
                tmEnd->tm_year+1900,tmEnd->tm_mon+1,tmEnd->tm_mday, days, hh, mm, ss);
        Sleep(998);
        if(days==0 && hh==0 && mm==0 && ss==0)break;
    }
    printf("\r\n");
    free(tmEnd);
}




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-20 21:41 , Processed in 0.280800 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表