javascript - 如何使用 youtube 上传日期作为与实际日期的时间比较?

标签 javascript jquery html css youtube

youtube rss 数据给我这个字符串,我可以抓取它并存储它,但我不知道如何将这个字符串操作成我想要使用它的东西。

2012-08-08T16:49:52.000Z

我想使用上面的字符串并创建一个 jquery 函数来解析它并显示视频上传的时间。例如:1 天前、15 天前、20 天前。我不希望解析有太多工作量,但如果确定视频上传是多少天前的逻辑非常困难,那么我将只显示上传日期为月日。例如:8 月 8 日

简而言之:

  • 我需要在提供的字符串中获取 T 字符之前的日期
  • 然后显示为3天前格式或月日格式

我不知道该怎么做。希望有人能帮助我。 :)

更新:由于这篇文章中的评论,我已经抓取日期并将其与其余上传信息分开。

var uploadDate = x.substring(0, x.indexOf('T'));

给我 2012-08-08

更新 2:我已经用 split()

解析了月份和日期
var date = uploadDate.split('-');
var month = date[1];
var day = date[2];

给出答案后我的代码

function differenceDate(dateStr) {
    var dateString = dateStr.split('T')[0];
    var date = dateString.split('-');
    var firstDate = new Date(parseInt(date[0],10), parseInt(date[1],10)-1, parseInt(date[2],10));
    var secondDate = new Date();
    var diffDate = secondDate.getTime() - firstDate.getTime();
    var converted = diffDate/1000/60/60/24;

    var uploaded;
    if(converted < 1){
        uploaded = 'few hours ago';
    } else if(converted>1 && converted<2){
        uploaded = '1 day ago';
    } else if(converted>2){
        var daysAgo = Math.floor(converted);
        uploaded = daysAgo+ ' days ago';
    }

    return uploaded;
}
var daysAgo = differenceDate( '2012-08-08T16:49:52.000Z' );

最佳答案

由于您可以获取日期字符串,我假设您可以将它从“T”字符中拆分出来,并将结果数组的索引 0 发送到您最喜欢的日期差异函数:)即

function millisBetween(dateStr) {

    var dateArray = dateStr.split("-");

    // new Date(year, month, day)
    var firstDate = new Date(parseInt(dateArray[0],10), parseInt(dateArray[1],10) - 1, parseInt(dateArray[2],10));

     // today
    var secondDate = new Date();

    var millisBetween = secondDate.getTime() - firstDate.getTime();

    return millisBetween;
}

var strDatePart = "2012-08-08T16:49:52.000Z".split("T")[0];
var millis = millisBetween(strDatePart); // date difference in milliseconds

在此之后,您所要做的就是检查 millis 变量,看看视频是几分钟前、几小时前还是几年前上传的。

关于javascript - 如何使用 youtube 上传日期作为与实际日期的时间比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11877298/

相关文章:

javascript - 向类添加值

javascript - Settimeout和setinterval内存使用情况

JavaScript 未在 HTML 中运行

javascript - 用jquery提取外域xml数据

c# - 如何用C#读取TD的值?

html - CSS 背景图片不显示

html - 导航栏不能仅在站点的一个部分中单击

javascript - jQuery Accordion 不起作用

javascript - 检查用户在 JQuery 中是否有未保存的数据?

jquery - “jQuery.getJSON”在 Internet Explorer 8 中不起作用