基本信息
源码名称:时间转换工具源码(hta格式)
源码大小:2.50KB
文件格式:.rar
开发语言:js
更新时间:2019-07-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
十进制、UTC转换等

<html>
    <head>
    <script type="text/javascript">
        window.resizeTo(780, 180);
    </script>
<HTA:APPLICATION ID="utctime"
APPLICATIONNAME="utctime"
BORDER="dialog"
BORDERSTYLE="normal"
INNERBORDER="no"
SCROLL="no"
CAPTION="yes"
ICON=""
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="no"
SYSMENU="yes"
VERSION="1.0"/>
    
    <title>时间生成器</title>
    <style type="text/css">
            body { padding: 0; background: #ddd; }
            .text-year { width: 40px; }
            .text-cell { width: 20px; }
        </style>
<script>
/******************************************************************************
函数名称:toHex
函数功能:将15位以内(含15)的十进制数转换为十六进制数
参数说明:sString-待转换字符串
返回值  :null    - 参数非法或异常
          sResult - 转换结果
作者    :朱磊鑫 00110907 2007-11-27
******************************************************************************/
function toHex( sString )
{
    if(null == sString)
    {
        return null;
    }

    if(15 < sString.length)//字符串超长,15位以后整数转换不准确。
    {
        return null;
    }

    var sInteger = /^(0|([1-9] [0-9]*))$/;//整数正则表达式,不包含0开头。
    if(!sInteger.test(sString))
    {
        return null;
    }

    var iValue = parseInt(sString);
    if(0 > iValue)
    {
        return null;
    }
    if(0 == iValue)
    {
        return null;
    }

    var hexValue = [];//用于保存中间数。
    var i = 0;        //hexValue的写位置。
    var iQuotient;    //商
    var iRemainder;   //余数
    while(true)
    {
        iQuotient  = Math.floor(iValue/16);//商
        iRemainder = iValue%16;            //余数

        if(iQuotient < 16)                 //商小于16,为最后一次运算。需要记录商。
        {
            switch(iRemainder)
            {
                case 0: hexValue[i  ] = "0";break;
                case 1: hexValue[i  ] = "1";break;
                case 2: hexValue[i  ] = "2";break;
                case 3: hexValue[i  ] = "3";break;
                case 4: hexValue[i  ] = "4";break;
                case 5: hexValue[i  ] = "5";break;
                case 6: hexValue[i  ] = "6";break;
                case 7: hexValue[i  ] = "7";break;
                case 8: hexValue[i  ] = "8";break;
                case 9: hexValue[i  ] = "9";break;
                case 10:hexValue[i  ] = "A";break;
                case 11:hexValue[i  ] = "B";break;
                case 12:hexValue[i  ] = "C";break;
                case 13:hexValue[i  ] = "D";break;
                case 14:hexValue[i  ] = "E";break;
                case 15:hexValue[i  ] = "F";break;
                default:return null;//异常
            }
            switch(iQuotient)
            {
                case 0: hexValue[i  ] = "0";break;
                case 1: hexValue[i  ] = "1";break;
                case 2: hexValue[i  ] = "2";break;
                case 3: hexValue[i  ] = "3";break;
                case 4: hexValue[i  ] = "4";break;
                case 5: hexValue[i  ] = "5";break;
                case 6: hexValue[i  ] = "6";break;
                case 7: hexValue[i  ] = "7";break;
                case 8: hexValue[i  ] = "8";break;
                case 9: hexValue[i  ] = "9";break;
                case 10:hexValue[i  ] = "A";break;
                case 11:hexValue[i  ] = "B";break;
                case 12:hexValue[i  ] = "C";break;
                case 13:hexValue[i  ] = "D";break;
                case 14:hexValue[i  ] = "E";break;
                case 15:hexValue[i  ] = "F";break;
                default:return null;//异常
            }

            var sResult = Antitone(hexValue);
            return sResult;//数组反序为结果
        }

        else //继续除
        {
            iValue = iQuotient;//保存商
            switch(iRemainder)                          //保存余数
            {
                case 0: hexValue[i  ] = "0";break;
                case 1: hexValue[i  ] = "1";break;
                case 2: hexValue[i  ] = "2";break;
                case 3: hexValue[i  ] = "3";break;
                case 4: hexValue[i  ] = "4";break;
                case 5: hexValue[i  ] = "5";break;
                case 6: hexValue[i  ] = "6";break;
                case 7: hexValue[i  ] = "7";break;
                case 8: hexValue[i  ] = "8";break;
                case 9: hexValue[i  ] = "9";break;
                case 10:hexValue[i  ] = "A";break;
                case 11:hexValue[i  ] = "B";break;
                case 12:hexValue[i  ] = "C";break;
                case 13:hexValue[i  ] = "D";break;
                case 14:hexValue[i  ] = "E";break;
                case 15:hexValue[i  ] = "F";break;
                default:return null;//异常
            }
        }
    }
}

function Antitone( arrResult )
{
    if(null == arrResult)
    {
        return null;
    }
    var iLength = arrResult.length;
    var sResult = "";
    for(var i=iLength-1;i>=0;i--)
    {
        sResult = sResult.concat(arrResult[i]);//字符串合并出错!
    }
    return sResult;
}

function getHexTime(bIfNow)
{
    var iTime;
    if(!bIfNow)
    {
        //时间校验
        var sYear   = document.getElementById("1").value;
        var sMonth  = document.getElementById("2").value;
        var sDay    = document.getElementById("3").value;
        var sHour   = document.getElementById("4").value;
        var sMinute = document.getElementById("5").value;
        var sSecond = document.getElementById("6").value;

        var iYear   = parseInt(sYear,10);
        var iMonth  = parseInt(sMonth,10) - 1;
        var iDay    = parseInt(sDay,10);
        var iHour   = parseInt(sHour,10);
        var iMinute = parseInt(sMinute,10);
        var iSecond = parseInt(sSecond,10);
        var oTime = new Date(iYear, iMonth, iDay, iHour, iMinute, iSecond, 0);

        //alert("年:" iYear "\n月:" iMonth "\n日:" iDay "\n时:" iHour "\n分:" iMinute "\n秒:" iSecond);
        if (!isNaN(oTime)){
        	iTime = oTime.getTime()/1000;
        }
        else{
        	iTime=0;
        }
    }
    else
    {
        var oTimeNow = new Date();
        iTime = oTimeNow.getTime()/1000;
    }

    iTime = Math.floor(iTime);
    //iTime = toHex(iTime);
    if(null == iTime)
    {
        alert("非法时间,请重新输入。");
        return;
    }

    document.getElementById("result").value = iTime;
    clipboardData.setData('text', iTime.toString());
    alert("十进制格式时间:"   iTime   " 已经拷贝到剪贴板中。");
}
function checkTime(textId)
{
    var oText = document.getElementById(textId);
    if(oText.value.toString().length == oText.getAttribute("maxlength"))
	{
	    document.getElementById(textId).blur();
        if( textId < 6)
		{
			var newId = parseInt(textId) 1;
		    document.getElementById(newId).focus();
		}
		else
		{
		    getHexTime(false);
		    document.getElementById("result").focus();
		}
	}
}
function focused(Id)
{
    document.getElementById(Id).select();
}

function transTime()
{
	var iTime = parseInt(document.getElementById('7').value, 10);
	var oDate = new Date();
	oDate.setTime(iTime * 1000);

	if (!isNaN(oDate))
	{
		var sYear = oDate.getFullYear();
		var sMonth = oDate.getMonth()   1;
		var sDate = oDate.getDate();
		var sHour = oDate.getHours();
		var sMinute = oDate.getMinutes();
		var sSecond = oDate.getSeconds();

		var sTime = sYear   "-"   addZero(sMonth)   "-"   addZero(sDate)   " "
										     addZero(sHour)   ":"   addZero(sMinute)   ":"   addZero(sSecond);
		document.getElementById('8').value = sTime;
		clipboardData.setData('text', sTime);
		alert("YYYY-MM-DD HH:MM:SS格式时间:"   sTime   " 已经拷贝到剪贴板中。");
	}
}

function addZero(ii)
{
	if (ii < 10 && ii >=0)
	{
		return "0"   ii;
	}
	else
		{
			return ii;
		}
}
</script>
</head>
<body>
<input type="button" value="当前时间" onclick="getHexTime(true);">
<br><br>
<span>请输入时间:</span>
<input type="text" class="text-year" size="1" maxlength="4" id="1" onfocus="focused('1')" onkeyup="checkTime('1');"></input><span>年</span>
<input type="text" class="text-cell" size="1" maxlength="2" id="2" onfocus="focused('2')" onkeyup="checkTime('2');"></input><span>月</span>
<input type="text" class="text-cell" size="1" maxlength="2" id="3" onfocus="focused('3')" onkeyup="checkTime('3');"></input><span>日</span>
<input type="text" class="text-cell" size="1" maxlength="2" id="4" onfocus="focused('4')" onkeyup="checkTime('4');"></input><span>时</span>
<input type="text" class="text-cell" size="1" maxlength="2" id="5" onfocus="focused('5')" onkeyup="checkTime('5');"></input><span>分</span>
<input type="text" class="text-cell" size="1" maxlength="2" id="6" onfocus="focused('6')" onkeyup="checkTime('6');"></input><span>秒</span>
&nbsp;&nbsp;
<input type="button" value="计算时间" onclick="getHexTime(false);">
<span>十进制表示</span>
<input type="text" maxlength="15" id="result" class="text-field"></input>
<p><p>
<span>请输入UTC秒数:</span>
<input type="text" maxlength="10" id="7" class="text-field"/>
<input type="button" value="转换时间" onclick="transTime();"/>
<input type="text" maxlength="19" id="8" class="text-field"/>
</body>
</html>