austinjbollinger
austinjbollinger

Reputation: 1

How to Format fb.created_time

I am new to javascript and I used the tutorial found here: http://www.prettyklicks.com/blog/making-a-facebook-feed-using-the-graph-api-json-and-jquery/291/ but I am having trouble formatting the date given by facebook. My website is http://moussesalon.com/homePage.htm and my code is as follows:

(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);

Any help would be greatly appreciated.

Upvotes: 0

Views: 3339

Answers (3)

BV2005
BV2005

Reputation: 157

Here is a simple way to do this...

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

The results will be the date of the post such as; April 13, 2017, 4:40 pm

Upvotes: 0

Nick Titchmarsh
Nick Titchmarsh

Reputation: 1

You could use the javascript function

string.substring(from, to);

This will allow you to specify the start character (0 for the start of the string) to the last character you want (length - 5)

fb.created_time.substring(0,(fb.created_time.length-5));

Upvotes: 0

Igy
Igy

Reputation: 43816

According to the main Graph API Documentation under 'Dates' you can ask the API to return results in any date format you want - why not just get Facebook to return the dates in your preferred format?

Excerpt from docs:

All date fields are returned as ISO-8601 formatted strings. You can optionally override the date format by specifying a "date_format" query parameter. The accepted format strings are identical to those accepted by the php date function. For example, https://graph.facebook.com/platform/feed?date_format=U returns the Platform page's feed, with unixtime-formatted dates.

Upvotes: 1

Related Questions