開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 2章(数値), 2.5(練習問題)1年の時間数 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
1年の時間数
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby1.9 #-*- coding: utf-8 -*- td = Time.new ago = Time.local(td.year - 1, td.month, td.day, td.hour, td.sec) puts "今日: #{td}" puts "一年前: #{ago}" puts "過去1年の時間数: #{((td - ago) / (60 * 60)).to_i}時間"
入出力結果(Terminal)
$ ./sample.rb 今日: 2013-01-06 16:46:46 +0900 一年前: 2012-01-06 16:46:00 +0900 過去1年の時間数: 8784時間 $
ちなみにJavaScriptの場合。
コード(BBEdit)
var td = new Date(); var ago = new Date(); ago.setFullYear(td.getFullYear() - 1); var result = td + "\n" + ago + "\n" + "過去1年間の時間数: " + parseInt((td - ago) / (60 * 60 ) / 1000) + "時間\n"; $('#pre0').text(result);
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3 # -*- coding: utf-8 -*- import datetime td = datetime.datetime.today() ago = td.replace(year=td.year - 1) print("今日の日付: {0}".format(td)) print("一年前: {0}".format(ago)) print("過去一年間の時間数: {0}時間".format(int( (td.timestamp() - ago.timestamp()) / (60 * 60))))
入出力結果(Terminal)
$ ./sample.py 今日の日付: 2013-01-06 16:54:57.528243 一年前: 2012-01-06 16:54:57.528243 過去一年間の時間数: 8784時間 $
perlの場合。
sample.pl
コード(BBEdit)
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; use Time::Local; my $td_timestamp = timelocal((localtime)[0, 1, 2, 3, 4, 5]); my $ago_timestamp = timelocal((localtime)[0, 1, 2, 3, 4], (localtime)[5] - 1); my $td = localtime($td_timestamp); my $ago = localtime($ago_timestamp); print "今日の日付: " . $td . "\n"; print "1年前: " . $ago . "\n"; print "過去1年の時間数: " . ($td_timestamp - $ago_timestamp) / (60 * 60) . "時間\n";
入出力結果(Terminal)
$ ./sample.pl 今日の日付: Sun Jan 6 17:17:43 2013 1年前: Fri Jan 6 17:17:43 2012 過去1年の時間数: 8784時間 $
0 コメント:
コメントを投稿