私はこの文字列をyoutuberssデータから受け取っており、それを取得して保存することはできますが、文字列を操作して使用しようとしているものにする方法がわかりません。
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' );