2015-06-16 3 views
0
"2015-06-23 14:00:00" 

Я попытался отформатировать дату выше даты на 12-часовую базу, но где-то застрял.конвертировать время до 12 часов манипулировать строкой

function formatDate(raw_date){ 
    var right = raw_date.substring(10, 0); 

    var hours = ((right[0].substring(2,0) + 11) % 12 + 1); 
    var min = raw_date.substring(14,16); 
    var suffix = right[1] >= 12 ? "PM":"AM"; 
    right[1] = ((right[1] + 11) % 12 + 1) + suffix; 
    return hours + ':' + min + ' ' + suffix; 
} 

Может кто-нибудь помочь? Мой желаемый выход "23/06/2015 02:00 PM"

+0

'вар справа = raw_date.substring (10, 0) ; '?! Если 'raw_date' is' "2015-06-23 14:00:00", то 'right' будет' "2015-06-23" '. А затем 'right [0] .substring (2,0)' ?! – Biffen

+0

Должен сказать, действительно не понимаю вашу логику здесь. – Saif

ответ

0

решение на основе кода:

function formatDate(raw_date){ 
    var year = raw_date.substring(0,4); 
    var month = raw_date.substring(5,7); 
    var day = raw_date.substring(8,10); 
    var right = raw_date.substring(10); 
    var hours = ((right.substring(0,3))% 12); 
    var min = raw_date.substring(14,16); 
    var suffix = right.substring(0,3) >= 12 ? "PM":"AM"; 
    return day + "/"+month+"/"+year+" "+hours + ':' + min + ' ' + suffix; 
} 
4

Попробуйте это:

function formatDate(raw_date) { 
    var right = new Date(raw_date); 

    var currentHours = right.getHours(); 
    var timeOfDay = (currentHours < 12) ? "AM" : "PM"; 
    if (currentHours > 12) { 
     currentHours -= 12; 
    } 
    return (right.getDate() + '/' + right.getMonth()+ '/' + right.getFullYear() +" "+ currentHours+ ":"+right.getMinutes() + timeOfDay); 
} 

alert(formatDate("2015-06-23 14:00:00")); 

Demo

+0

Не работает вообще в IE11 и Firefox 38.0.5. Выход NaN/NaN/NaN NaNPM –

+0

@ PavelNěmec https://jsfiddle.net/edv7aaax/5/ –

0

Вы должны следовать простой поток. Попытка сломать вход -> конвертировать их _>, а затем суммировать их:

function formatDate(raw_date){ 
    var right = raw_date.substring(0, 10); 

    var year=right.substring(0,4); 
    var month=right.substring(5,7); 
    var day=right.substring(8,10); 

    right=day+"/"+month+"/"+year; 

    var left=raw_date.substring(11, raw_date.length); 

    var hours = left.substring(0,2); 
    var suffix = hours >= 12 ? "PM":"AM"; 
    hours=hours-12; 
    if(hours<10) hours='0'+hours; 

    var min = left.substring(3,5); 

    left=hours+":"+min+" "+suffix; 

    return right + ' ' + left; 

} 
Смежные вопросы