
ブックマークレットで以下のようなコードを使っています。
javascript:window.open('https://www.○○○='+
getSelection().
toString());
選択した文字列を加えて指定したURLに飛ぶブックマークレットです。
ここから質問なんですが、
このコードに現在日時から1ヶ月前をUNIX時間で加えて、指定したURLに飛ぶブックマークレットを作りたいのですが、どのようなメソッド、構文にすればいいかわかりません。
例として、以下のようなURLになるようにしたい ※UNIX時間は現在日時
https://www.○○○1665282832選択した文字列
参考になるWebページもあれば、それも教えていただけると助かります。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
No1です。
>ただ・・・桁数が多いようです。
回答には「ミリ秒単位」と書いておいたはずです。
1000で割って四捨五入するか、切捨てで良いのなら、文字列化して後ろ3文字を除くなどすれば宜しいでしょう。
>ブックマークレットがどうすれば動くのか~~
併せて、いくつかの調整点などもNo1に示しておきましたが、もしもそのままでよいのなら・・
d=new Date();d.setMonth(d.getMonth()-1);
console.log('https://www.○○○'+(d.getTime()/1e3|0));
とかで、動作しませんか?
せっかく頂いた回答も私の理解力・知識不足で理解が追いつけずにいましたが、四苦八苦しつつも、なんとか動作することができました。
このたびは、誠にありがとうございました。m(_ _)m
No.1
- 回答日時:
こんにちは
Date.now() でミリ秒単位で現在の値の取得が可能ですが、基本的にクライアントPCの時刻設定に依存します。
https://developer.mozilla.org/ja/docs/Web/JavaSc …
これから、1か月分の秒数を減ずれば良いですが、1か月っていろいろありますよね。
単純な「1か月前」の日付でよければ、
d = new Date();d.setMonth(d.getMonth()-1);
とすることで、取得できますので、
d.getTime();
で同様にミリ秒単位での値を得ることが可能です。
https://developer.mozilla.org/ja/docs/Web/JavaSc …
ただし、上記は「月」を-1しているだけなので、10/31だと(9/31となり、9月は小の月なので)10/1が、3/31だと3/3が得られたりしますので、このあたりをどうしたいのかによっては調整が必要になるかもしれません。
また、クライアントによらず、サーバ等から(より正しそうな)時刻を取得するとなると、通信処理が発生しますし、さらには送受信に要する時間も加味して判断する必要が出てきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
アロー関数のIE対応にpolyfill...
-
nullで、return出来るのはどん...
-
数字か文字列かを判定する関数
-
C#の捕捉されない例外処理の対...
-
VBA 400エラー 1004エラー
-
ファイルダイアログを開いた時...
-
Timestamp型への変換について(J...
-
タトゥーや墨を入れる人の共通点
-
eclipse-Tomcatでのデバッグに...
-
関数内の変数に<summary>コメン...
-
エクセルVBAで、条件に一致する...
-
中学のクラス数
-
javascriptからjavaを呼び出したい
-
【sendkeysメソッドが動かずに...
-
Excelで =EMBED("Acrobat Docu...
-
引数で日付を2つ与え、その間の...
-
JavaScriptからJAVAクラスを呼...
-
サーブレットコンテキストの意...
-
UMLのクラス図はmain()も含むん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
Timestamp型への変換について(J...
-
C#の捕捉されない例外処理の対...
-
VB.Net Object型 空かどうか
-
0除算の例外処理ができない!!...
-
VBA Evaluate関数 型が一致しま...
-
VB.NETで16進数が正しいかどう...
-
数字か文字列かを判定する関数
-
【JAVA】与えられた金額を貨幣...
-
時間の取得
-
文字列からダブルクオートの削除
-
VC++におけるCStringの変換
-
String型の日付(2005/11/25)の...
-
C# マルチスレッドにおける例外...
-
nullで、return出来るのはどん...
-
javaのコンパイルエラーが解決...
-
アロー関数のIE対応にpolyfill...
-
Excelでのエラー
-
サーブレットからJSPの呼び出し...
-
連続する「\\」をひとつの「\\...
おすすめ情報
早速回答いただきありがとうございます。
記載いただいた「d = new Date();d.setMonth(d.getMonth()-1);」をChromeのコンソールで実行したところ、UNIX時間が取得できました。
ただ・・・桁数が多いようです。(ミリ秒まで取得している?)
頂いたコードで取得:1662774446624
取得したい桁数 :1662774446
あと、現在使っているブックマークレットのコードにこれを加えるとエラーが発生して使えません。
恐れ入りますが、ブックマークレットがどうすれば動くのかご教授いただけないでしょうか。