同様の機能を実現するには、JS を使用できます。実装方法は次のとおりです。
1. JavaScript 関数の実装: 例 1:
var 分 = 1000 * 60;
var 時 = 分 * 60;
var 日 = 時 * 24;
var 半月 = 日 * 15 ;
var month = day * 30;
function getDateDiff(dateTimeStamp){
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if( diffValue //日付が一致しない場合は、ポップアップ ウィンドウで通知されます
//alert("終了日を開始日より小さくすることはできません!");
}
var monthC =diffValue/month;
var weekC =diffValue/(7*day);
var dayC =diffValue/day;
varhourC =diffValue/hour;
var minC =diffValue/分;
if(monthC>= 1){
result=""parseInt(monthC) "数か月前に公開";
}
else if(weekC>=1) {
result="1 週間前に「parseInt(weekC ) 」に公開されました";
}
else if(dayC>=1){
result="parseInt(dayC) " 日に公開されましたago";
}
else if(hourC>=1){
result="投稿日" parseInt(hourC) "時間前";
}
else if(minC>= 1){
result="「parseInt(minC) "分前に投稿されました」;
}else
result="公開されたばかりです";
return result;
}
function getDateTimeStamp( dateStr){
return Date.parse(dateStr.replace(/-/gi,"/"));
}
2. jquery プラグインの実装
HTML コード:
コードをコピー
コードは次のとおりです:
">
コードをコピー
プラグインのソース コード:
(function (factory) {
if (typeof define === 'function' &&define.amd) {
// AMD。匿名モジュールとして登録します。
define([ 'jquery'], Factory);
} else {
// ブラウザー グローバル
Factory(jQuery);
}
}(function ($) {
$.timeago = function(timestamp) {
if (timestamp instanceof Date) {
return inWords(timestamp);
} else if (typeof timestamp === "string") {
return inWords($.timeago) .parse(timestamp));
} else if (typeof timestamp === "number") {
return inWords(new Date(timestamp));
} else {
return inWords($ .timeago.datetime(timestamp));
}
};
var $t = $.timeago;
$.extend($.timeago, {
settings: {
refreshMillis: 60000、
allowFuture: false、
localeTitle: false、
カットオフ: 0、
文字列: {
prefixAgo: null、
prefixFromNow: null、
suffixAgo: "前",
suffixFromNow: "今から",
秒: "1分钟",
分: "1分钟",
分: "%d分钟",
時間: "1小時間",
時間: "%d小時間",
日: "1天",
日: "%d天",
月: "1月"、
月: "%d 月",
年: "1 年",
年: "%d 年",
wordSeparator: "",
数字: []
}
},
inWords: function( distanceMillis) {
var $l = this.settings.strings;
var prefix = $l.prefixAgo;
var suffix = $l.suffixAgo ;
if (this.settings.allowFuture) {
if ( distanceMillis 接頭辞 = $l.prefixFromNow;
接尾辞 = $l.suffixFromNow;
}
}
var 秒 = Math.abs( distanceMillis) / 10 00;
var minutes = 秒 / 60;
var hours = minutes / 60;
var days = 時間 / 24;
var years = days / 365;
関数置換(stringOrFunction,数値) {
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
var value = ($l.numbers && $l.numbers[number]) ||数値;
return string.replace(/%d/i, value);
}
var word = 秒
45 &&stitute($l.秒, Math.round(秒)) ||
秒 分 分 時間 時間 日 日 日 年 replace($l.years, Math.round(years));
var separator = $l.wordSeparator || "";
if ($l.wordSeparator === 未定義) { separator = " "; }
return $.trim([プレフィックス, 単語, サフィックス].join(separator));
},
parse: function(iso8601) {
var s = $.trim(iso8601) ;
s = s.replace(/.d /,""); // ミリ秒を削除します
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ")。 replace(/Z/," UTC");
s = s.replace(/([ -]dd):?(dd)/," $1$2"); // -04:00 -> -0400
return 新しい日付;
},
datetime: function(elem) {
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
return $t.parse(iso8601);
},
isTime: function(elem) {
// jQuery の `is()` は IE の HTML5 とうまく連携しません
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
}
});
// $(el).timeago('action') // アクションが指定されない場合、init はデフォルトです
// 関数は単一要素のコンテキストで呼び出されます
var function = {
init: function(){
var fresh_el = $. proxy(refresh, this);
refresh_el();
var $s = $t.settings;
if ($s.refreshMillis > 0) {
setInterval(refresh_el, $s. freshMillis);
}
},
update: function(time){
$(this).data('timeago', { datetime: $t.parse(time) });
fresh.apply(this);
},
updateFromDOM: function(){
$(this).data('timeago', { datetime: $t.parse( $t.isTime( this) ? $(this).attr("datetime") : $(this).attr("title") ) });
fresh.apply(this);
}
};
$.fn.timeago = function(action, options) {
var fn = アクション ? function[action] :functions.init;
if(!fn){
throw new Error("Unknown function name '" action "' for timeago");
}
// それぞれ終了ここにオブジェクトを配置し、要求された関数を呼び出します
this.each(function(){
fn.call(this, options);
});
return this;
};
function fresh() {
var data = prepareData(this);
var $s = $t.settings;
if (!isNaN(data.datetime)) {
if ( $s.cutoff == 0 || distance(data.datetime) $(this).text(inWords(data.datetime));
}
}
return this;
}
function prepareData(element) {
element = $(element);
if (!element.data("timeago")) {
element.data("timeago", { datetime: $t.datetime(element) });
var text = $.trim(element.text());
if ($t.settings.localeTitle) {
element.attr("title", element.data('timeago' ).datetime.toLocaleString());
} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
element.attr ("title", text);
}
}
return element.data("timeago");
}
function inWords(date) {
return $ t.inWords( distance(date));
}
function distance(date) {
return (new Date().getTime() - date.getTime());
}
// IE6 の吸い込みを修正
document.createElement("abbr");
document.createElement("time");
}));

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...

JavaScriptプログラミング、プロトタイプチェーンの関数パラメーターの理解と操作のJavaScriptのプロトタイプチェーンの関数のパラメーターを取得する方法は、一般的で重要なタスクです...

WeChatアプレットWeb-ViewでVue.jsを使用する動的スタイルの変位障害がvue.jsを使用している理由の分析...

複数のリンクの同時ゲットリクエストを作成し、結果を返すために順番に判断する方法は? TamperMonkeyスクリプトでは、複数のチェーンを使用する必要があることがよくあります...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



