【问题标题】:Convert UTC time to hours, minutes, and AM/PM format in javascript在 javascript 中将 UTC 时间转换为小时、分钟和 AM/PM 格式
【发布时间】:2014-06-19 19:48:40
【问题描述】:

给定 UTC 时间,有什么简单的方法可以将其转换为小时、分钟和 AM/PM 格式(例如“下午 3:30”)?

【问题讨论】:

  • 尝试了 getHours() 和 getMinutes(),可能有一些很老套的方法可以重新格式化它们。知道 moment.js 已经存在并考虑使用它,但想知道是否存在更简单的东西。
  • 行数最少!
  • 您应该查看moment.js。它消除了痛苦。前任。 moment.utc(new Date()).format("h:mm A");

标签: javascript time utc


【解决方案1】:
<script type="text/javascript">
<!--

var a_p = "";
var d = new Date();

var curr_hour = d.getHours();

if (curr_hour < 12)
   {
   a_p = "AM";
   }
else
   {
   a_p = "PM";
   }
if (curr_hour == 0)
   {
   curr_hour = 12;
   }
if (curr_hour > 12)
   {
   curr_hour = curr_hour - 12;
   }

var curr_min = d.getMinutes();

document.write(curr_hour + " : " + curr_min + " " + a_p);

//-->
</script>

http://www.webdevelopersnotes.com/tips/html/formatting_time_using_javascript.php

【讨论】:

    【解决方案2】:

    使用下面的函数,你可以改变任何格式的UTC时间:-

    var  getDateString = function(date, format) {
                var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
                getPaddedComp = function(comp) {
                    return ((parseInt(comp) < 10) ? ('0' + comp) : comp)
                },
                formattedDate = format,
                o = {
                    "y+": date.getFullYear(), // year
                    "M+": months[date.getMonth()], //month
                    "d+": getPaddedComp(date.getDate()), //day
                    "h+": getPaddedComp((date.getHours() > 12) ? date.getHours() % 12 : date.getHours()), //hour
                    "m+": getPaddedComp(date.getMinutes()), //minute
                    "s+": getPaddedComp(date.getSeconds()), //second
                    "S+": getPaddedComp(date.getMilliseconds()), //millisecond,
                    "t+": (date.getHours() >= 12) ? 'PM' : 'AM'
                };
    
                for (var k in o) {
                    if (new RegExp("(" + k + ")").test(format)) {
                        formattedDate = formattedDate.replace(RegExp.$1, o[k]);
                    }
                }
                return formattedDate;
            };
    

    现在您可以使用它来格式化任何日期对象,例如:-

     getDateString(new Date(), "h:m:s:t")
    
    o/p: "01:34:22:AM"
    
    
     getDateString(new Date(), "y:M:d")
     o/p:- "2014:Jun:20"
    
     getDateString(new Date(), "y/M/d h:m:s:t")
     o/p:- "2014/Jun/20 01:34:22:AM"
    

    【讨论】:

      【解决方案3】:
      // d = new Date(utc);
      var hour = d.getHours() == 0 ? 12 : (d.getHours() > 12 ? d.getHours() - 12 : d.getHours());
      var min = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes();
      var ampm = d.getHours() < 12 ? 'AM' : 'PM';
      var time = hour + ':' + min + ' ' + ampm;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-02
        • 1970-01-01
        • 1970-01-01
        • 2018-01-21
        相关资源
        最近更新 更多