#javascript #time #utc
#javascript #время #utc
Вопрос:
Учитывая время UTC, каков простой способ преобразовать его в формат в часах, минутах и AM / PM (например, «3:30 вечера»)?
Комментарии:
2. Пробовал getHours() и getMinutes(), и, вероятно, есть несколько хакерских способов их переформатирования. Знать moment.js существует и рассматривает возможность его использования, но задается вопросом, существует ли что-нибудь более простое.
3. С наименьшим количеством строк!
4. Вы должны проверить moment.js . Это избавляет от боли. Пример.
moment.utc(new Date()).format("h:mm A");
Ответ №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;