Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234

    PrettyDate in stile YouTube

    Buongiorno a tutti!
    Vorrei stampare una data con il metodo prettydate in stile youtube ma ho difficoltà ad integrare queste due funzioni:


    codice:
    $.ajax({
    	url: 'http://gdata.youtube.com/feeds/api/videos/'+videolink+'?v=2&alt=json', dataType: "jsonp", success: function (data) {
    		getComments(data.entry.gd$comments.gd$feedLink.href + '&max-results=50&alt=json', 1);
    	}
    });
    
    function parseresults(data) {
        getComments(data.entry.gd$comments.gd$feedLink.href + '&max-results=50&alt=json', 1);
    }
    
    function getComments(commentsURL, startIndex) {
    	$.ajax({
    		url: commentsURL + '&start-index=' + startIndex,
    		dataType: "jsonp",
            success: function (data) {
            $.each(data.feed.entry, function(key, val) {
            	$('#comments').append('<span class="author">' + val.author[0].name.$t + '</span>
    <span class="comment">' + val.content.$t + '</span>
    <span class="time">' + val.published.$t + '</span>
    
    ');
    		});
    	});
    }
    in grassetto il valore (al momento è in questo formato "2011-10-12T09:23:28.000Z") che vorrei trasformare utilizzando la funzione qua sotto..

    codice:
    function prettyDate(date_str){
    	var time_formats = [
    	[60, 'just now', 1], // 60
    	[120, '1 minute ago', '1 minute from now'], // 60*2
    	[3600, 'minutes', 60], // 60*60, 60
    	[7200, '1 hour ago', '1 hour from now'], // 60*60*2
    	[86400, 'hours', 3600], // 60*60*24, 60*60
    	[172800, 'yesterday', 'tomorrow'], // 60*60*24*2
    	[604800, 'days', 86400], // 60*60*24*7, 60*60*24
    	[1209600, 'last week', 'next week'], // 60*60*24*7*4*2
    	[2419200, 'weeks', 604800], // 60*60*24*7*4, 60*60*24*7
    	[4838400, 'last month', 'next month'], // 60*60*24*7*4*2
    	[29030400, 'months', 2419200], // 60*60*24*7*4*12, 60*60*24*7*4
    	[58060800, 'last year', 'next year'], // 60*60*24*7*4*12*2
    	[2903040000, 'years', 29030400], // 60*60*24*7*4*12*100, 60*60*24*7*4*12
    	[5806080000, 'last century', 'next century'], // 60*60*24*7*4*12*100*2
    	[58060800000, 'centuries', 2903040000] // 60*60*24*7*4*12*100*20, 60*60*24*7*4*12*100
    	];
    	var time = ('' + date_str).replace(/-/g,"/").replace(/[TZ]/g," ").replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    	if(time.substr(time.length-4,1)==".") time =time.substr(0,time.length-4);
    	var seconds = (new Date - new Date(time)) / 1000;
    	var token = 'ago', list_choice = 1;
    	if (seconds < 0) {
    		seconds = Math.abs(seconds);
    		token = 'from now';
    		list_choice = 2;
    	}
    	var i = 0, format;
    	while (format = time_formats[i++])
    		if (seconds < format[0]) {
    			if (typeof format[2] == 'string')
    				return format[list_choice];
    			else
    				return Math.floor(seconds / format[2]) + ' ' + format[1] + ' ' + token;
    		}
    	return time;
    };
    Come posso fare per risolvere questo problema?
    Ciao e grazie anticipatamente!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    <span class="time">' + prettyDate(val.published.$t) + '</span>

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Grazie Vindav!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.