2013年1月6日日曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 2章(数値), 2.5(練習問題)1年の時間数 を解いてみる。

その他参考書籍

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 コメント:

コメントを投稿