-1

我正在尝试使用我喜欢的格式(例如 14:25:30)将当前时间放入我的文本框我的代码有什么问题?因为当我运行它时,文本框显示为空。

<td>
    <input id="date" name="curTime" size="20" maxlength="20"  Required />
</td>
<script type="text/javascript">
    var timenow = new Date();
    timenow.format("UTC:h:MM:ss TT Z");
    document.getElementById("date").value = new Date().toUTCString();
</script>
4

5 回答 5

0

您也可以使用 PHP 的内置函数来执行此操作

<input id="date" name="curTime" value="<?php echo date('D-M-Y')." ".gmdate("H:i:s", time()); ?>" size="20" maxlength="20"  Required />
于 2013-07-07T10:34:17.410 回答
0

您可以使用以下函数在 javascript 中格式化当前 UTC 时间:

function getCurrentUTCTime() {
  var d = new Date();
  function z(n){ return (n<10? '0':'') + n;}
  return z(d.getUTCHours()) + ':' + 
         z(d.getUTCMinutes()) + ':' + 
         z(d.getUTCSeconds());
}

当地时间:

function getCurrentTime() {
  var d = new Date();
  function z(n){ return (n<10? '0':'') + n;}
  return z(d.getHours()) + ':' + 
         z(d.getMinutes()) + ':' + 
         z(d.getSeconds());
}
于 2013-07-07T10:13:05.067 回答
0

Date()没有格式化函数,除非你自己写了一个。在这种情况下,错误可能在此函数中。

format() 调用会产生错误,但timenow无论如何您都没有使用。我假设您打算将值设置为 timenow。

你可以借用我的格式方法,但它不包括 UTC、TT 或 Z。

Date.prototype.format = function (sFormat, twelve) {
    // Returns: A string version of the date.
    // Usage: date_instance.format("d mmm yy hh:nn:ss ap") or 
    // date_instance.format("dddd dd mmmm hh:nn", true)
    // Defaults to YYYY/MM/DD.
    // twelve == true for a 12hr clock, or just AP or ap within 
    // sFormat (for AM/PM or am/pm).
    // Use z or zzz for milliseconds and xx for suffixes (st, nd, etc.).
    var MonthNames = ["January", "February", "March", "April", "May", "June", 
        "July", "August", "September", "October", "November", "December"];
    var DayNames = [ "Sunday", "Monday", "Tueday", "Wednesday", "Thursday", 
        "Friday", "Saturday" ];
    var dDate = this || new Date(),
        D = dDate.getDate(), DDDD = DayNames[dDate.getDay()], 
        DDD = DDDD.substr(0,3),
        M = dDate.getMonth()+1, MMMM = MonthNames[dDate.getMonth()], 
        MMM = MMMM.substr(0,3),
        YYYY = dDate.getFullYear(), YY = ('' + YYYY).substr(2, 2),
        H = dDate.getHours(), N = dDate.getMinutes(), S = dDate.getSeconds(),
        Z = dDate.getMilliseconds(),
        ap = (H > 11) ? "pm" : "am",
        // pad with leading zeros, if required
        DD = ( D < 10 ? "0" : "" ) + D,
        MM = ( M < 10 ? "0" : "" ) + M,
        NN = ( N < 10 ? "0" : "" ) + N, 
        SS = ( S < 10 ? "0" : "" ) + S,
        ZZZ = ( Z < 10 ? "00" : (Z < 100 ? "0" : "") ) + Z, XX;
    var AP = (sFormat && (sFormat.toUpperCase().indexOf('AP')+1)) ? 
        ((sFormat.indexOf('ap')+1) ? ap : ap.toUpperCase()) : '';
    if (twelve || AP) {
        H = (H < 12) ? (H || 12) : ((H - 12) || 12);
    }
    var HH = ( H < 10 ? "0" : "" ) + H;
    XX = (D == 1 || D == 21 || D == 31) ? "st" : 
        ((D == 2 || D == 22) ? "nd" : ((D == 3 || D == 23) ? "rd" : "th"));
    sFormat = ( sFormat ) ? sFormat.toUpperCase() : 'YYYY/MM/DD';
    var sParsed = sFormat.replace(/D{1,4}|M{1,4}|Y{2,4}|H{1,2}|N{1,2}|S{1,2}|Z{1,3}|XX|AP/g,
        function (m) {
            try {
                return eval(m);
            } catch (e) {
                return '';
            }
        });
    return sParsed;
};

我用“nn”表示分钟,用“mm”表示月份。

于 2013-07-07T10:06:27.597 回答
0

将您的 javascript 更改为此。

var timenow = new Date();
 document.getElementById("date").value = timenow.toString();

格式函数format()是一个php的东西,将日期打印为文本框中的字符串使用该toString()函数。

您可以在toString()函数中设置日期的格式

于 2013-07-07T10:08:07.510 回答
0

您只需要更改您的 javascript(24 小时格式)

<script>
 {
 var today=new Date();
 var t=today.toLocaleTimeString("en-GB");
  document.getElementById("date").value=t;
 }
</script>

希望这可以帮助!!

于 2013-07-07T10:18:49.570 回答