Как отформатировать fb.created_time - PullRequest
0 голосов
/ 02 ноября 2011

Я новичок в javascript, и я использовал учебник, найденный здесь: http://www.prettyklicks.com/blog/making-a-facebook-feed-using-the-graph-api-json-and-jquery/291/, но у меня возникают проблемы с форматированием даты, указанной на Facebook. Мой сайт http://moussesalon.com/homePage.htm и мой код выглядит следующим образом:

(function($){

    $.fn.fbstatus = function(options) {

        set = jQuery.extend({
            username: 'Removed for privacy',
            token: 'Removed for privacy',
            loading_text: null
        }, options);

        function fbstatus_link(text){
            return text.replace(/(href="|<a.*?>)?[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function($0, $1) {
              return $1 ? $0 : $0.link($0);
            });
        }


        //Set Url of JSON data from the facebook graph api. make sure callback is set with a '?' to overcome the cross domain problems with JSON
        var url = "Removed for privacy";

        $(this).each(function(i, widget){
            var loading = $('<p class="loading">'+set.loading_text+'</p>');
            var theObject = $(this);
                if (set.loading_text) $(widget).append(loading);


            //Use jQuery getJSON method to fetch the data from the url and then create our unordered list with the relevant data.
            $.getJSON(url,function(json){
                var html = "<ul>";

                    //loop through and within data array's retrieve the message variable.
                    $.each(json.data,function(i,fb){

                        if (fb.message) {
                            html += "<li>" + fbstatus_link(fb.message) + "<br>" + fb.created_time + "</li>" + "<br>";
                        }

                    });
                html += "</ul>";


                //A little animation once fetched
                theObject.animate({opacity:0}, 500, function(){

                        theObject.html(html);

                });

                theObject.animate({opacity:1}, 500);

            });

        });

    };

})(jQuery);

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

В соответствии с основной Графика API Документация в разделе «Даты» вы можете попросить API возвращать результаты в любом формате даты, который вы хотите - почему бы просто не заставить Facebook возвращать даты в вашем предпочтительном формате?

Выдержка из документов:

Все поля даты возвращаются в виде строк в формате ISO-8601. При желании вы можете переопределить формат даты, указав «date_format» параметр запроса. Принятые строки формата идентичны тем принимается функцией даты php. Например, https://graph.facebook.com/platform/feed?date_format=U возвращает Фид страницы платформы с датами в формате unixtime.

0 голосов
/ 13 апреля 2017

Вот простой способ сделать это ...

//graph API call
https://graph.facebook.com/YOURNAME?fields=YOURFIELDSHERE&date_format=F j, Y, g:i a&access_token=ACCESSTOKENHERE"

Результатом будет дата публикации, например; 13 апреля 2017 года, 16:40

0 голосов
/ 02 ноября 2011

Вы можете использовать функцию JavaScript

string.substring(from, to);

Это позволит вам указать начальный символ (0 для начала строки) до последнего символа, который вы хотите (длина - 5)

fb.created_time.substring(0,(fb.created_time.length-5));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...