各種開発言語で「現在日付・時刻の取得」まとめ
各種開発言語での現在日付・時刻の取得から表示についてのまとめです。
こうやって比較すると面白いですね。
perl
標準関数 localtimeを使う
#!/usr/bin/perl
my ($sec, $min, $hour, $mday, $month, $year) = localtime;
$month += 1; # 月は0から始まるので1を加算
$year += 1900;# 年は1900を引いた値で取得されるので1900を加算
print sprintf("%04d/%02d/%02d %02d:%02d:%02d",$year,$mon,$mday,$hour,$min,$sec);
print ("\n");
表示結果
2019/00/24 01:26:41
php
<?php
print date("Y/m/d H:i:s");
?>
表示結果
2019/00/24 01:26:41
※尚、php.iniのtimezone設定をしないとJSTにならない。
OpenLiteSpeedでは以下の箇所で設定を行う。
python
#!/usr/bin/python3
import datetime
dt_now = datetime.datetime.now()
print(dt_now)
表示結果
2019-09-24 01:29:36.299741
ruby
#!/usr/bin/ruby
require "date"
now = Date.today
puts "今日は#{now.year}年#{now.month}月#{now.day}日"
nowTime = DateTime.now
puts "時刻は#{nowTime.hour}時#{nowTime.minute}分#{nowTime.second}秒"
表示結果
今日は2019年9月24日
時刻は1時54分14秒
java
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
}
}
表示結果
Tue Sep 24 01:57:00 JST 2019
go
package main
import "fmt"
import "time"
func main(){
t := time.Now()
fmt.Println(t)
}
表示結果
2019-09-24 02:02:18.287742205 +0900 JST m=+0.003000781
c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* main */
int main(void) {
time_t timer;
struct tm *local;
struct tm *utc;
timer = time(NULL);
local = localtime(&timer);
printf("%4d/", local->tm_year + 1900);
printf("%2d/", local->tm_mon + 1);
printf("%2d ", local->tm_mday);
printf("%2d:", local->tm_hour);
printf("%2d:", local->tm_min);
printf("%2d", local->tm_sec);
printf(" %d\n", local->tm_isdst);
return (0);
}
表示結果
2019/ 9/24 2: 8:41 0
c++
Cと同じでも上位互換のため、動作するが、C++らしい書き方は以下。
#include <sstream>
#include <iomanip>
int main()
{
time_t t = time(nullptr);
const tm* lt = localtime(&t);
std::stringstream s;
s<<"20";
s<<lt->tm_year-100;
s<<"-";
s<<lt->tm_mon+1;
s<<"-";
s<<lt->tm_mday;
std::string result = s.str();
std::cout << result << std::endl;
}
表示結果
2019-9-24