メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

JS 時差を計算して時分秒に変換する

サイトの人気が延びなくて悩む人のず
IEでもChoromeでも使えないコードで、FireFoxでしかブラウザではJSはnew Dateへ入れるhour(時間って書くとhourなのか時刻なのかわかりづらい)が24以上だとNaNを返してきやがるので動かないんですけど、とある環境だとNaNを返さず、getTimeで差を計算すると上手くhourの差が取れてくるっぽいのでgetTimeで取れてくる値は進んでいるようですね。そんなん使う人は多分こんなとこ検索してこないと思うんですが、明日使うのでここに載せて自分が確認する為に書いておこうとおんもいます。

ミリ秒を時分に換算する式

これはミリ秒さえ取れれば計算ができます。

h = ミリ秒/3600000
m = (ミリ秒-h*3600000)/6000

簡単ですね。

時刻を自分に変換するプログラム

一例として

var from = "08:00"
var to = "37:30"

var Y = new Date().getFullYear()
var M = new Date().getMonth()+1
var D = new Date().getDate()

var ymd = Y+"/"+M+"/"+D+"/"

var fromTime = new Date(ymd+" "+from).getTime()
var toTime = new Date(ymd+' '+to).getTime()
var Ms = toTime-fromTime

var h = ''
var m = ''

h = Ms/3600000
m = (Ms-h*3600000)/6000
var jikan = h+m;
console.log(jikan)
//29.5

こうやれば29時間30分が取れてきますね。ブラウザでもFireFox使えばできますね。JSでやってって言われてもIEとChoromeは25時以降計算してくれないからエラー吐いて23までの数字を入れて貰いましょうって提案しましょう。でもそうすると、08:00から32:00まで働く人はどうすればいいのとか言われたりするんですね。怖い世の中になりましたね。いろんな意味でね。

まぁとにかくこれで、計算できるということは、new Date(ymd+’ ‘+to).getTime()のところですが、ここに25:00以上が入ってますが、時間差が取れてるんですね。取れてるってことは、ミリ秒は大きくなってるってことですね。ほかのブラウザだと24以上は0,1,2,3,4とするロジックが必要になってくるのと、24の倍数に合わせて日付のカウントアップが必要になります。どうしょうもないくらい暇だったら研究してみようかなぁ。OJTの教材や入社試験にも良さそうですねー。

※3600000は1時間Msです

関連記事

コメントをお待ちしております