S-JIS[2006-06-14/2017-01-29] 変更履歴

プログラミング言語比較

日付時刻

  • MS-DOS [2006-02-26/2006-07-07]
  • UNIX [2006-02-26/2006-07-06]
  • VisualBasic for Application [2008-01-14]
  • VBScript [2007-04-06]
  • C言語(gcc, WIN32) [2005-01-16/2006-10-18]
  • Java [2005-01-16/2008-01-14]
  • Java8 [2017-01-29]
  • JavaScript [2006-01-08/2006-07-02]
  • C# [2006-03-04/2006-07-24]
  • SQL(Oracle[2005-02-07/2008-01-21]
 
経過時間     s = Timer()

e = Timer()
t = e - s '秒
s = Timer()

e = Timer()
t = e - s '秒
time_t s = time(NULL);

time_t e = time(NULL);
time_t t = e - s; //秒
DWORD s = GetTickCount();

DWORD e = GetTickCount();
DWORD t = e - s; //ミリ秒

timeBeginPeriod(1);
DWORD s = timeGetTime();

DWORD e = timeGetTime();
timeEndPeriod(1);
DWORD t = e - s; //ミリ秒

LARGE_INTEGER s,e,f;
QueryPerformanceFrequency(&f);
QueryPerformanceCounter(&s);

QueryPerformanceCounter(&e);
DWORD t=(DWORD)((e-s)/f); //マイクロ秒
long s = System.currentTimeMillis();

long e = System.currentTimeMillis();
lont t = e - s; //ミリ秒

long s = System.nanoTime();

long e = System.nanoTime();
lont t = e - s; //ナノ秒

JDK1.5以降
long s = System.currentTimeMillis();

long e = System.currentTimeMillis();
lont t = e - s; //ミリ秒

long s = System.nanoTime();

long e = System.nanoTime();
lont t = e - s; //ナノ秒
var s = new Date().getTime();

var e = new Date().getTime();
var t = e - s; //ミリ秒
int s = Environment.TickCount;

int e = Environment.TickCount;
int t = e - s; //ミリ秒
 
準備         #include <time.h> #include <winbase.h> import java.util.*; import java.time.*;      
現在日時 date
echo %DATE%
time
echo %TIME%
date Now
Date
Date$
Time
Time$
Now
Date
Time
struct timeval tv;
struct timezone tz;
struct tm now;
if (gettimeofday(&tv, &tz) < 0) { //現在日時
 perror("gettimeofday");
}
if (localtime_r(&tv.tv_sec, &now) == NULL) { //地域時間
 perror("localtime_r");
}
SYSTEMTIME now;
GetLocalTime(&now);
Calendar now = Calendar.getInstance();
Date now = new java.util.Date();
ZonedDateTime now = ZonedDateTime.now(); var now = new Date(); //DateTime today = DateTime.Today;
DateTime now = DateTime.Now;
 
sysdate
systimestamp
日時作成     CDate(year & "/" & month & "/" & day & " " & hour & ":" & min & ":" & sec)
#2008/1/14 12:34:56#
  struct tm date = { 0 };
date.tm_year = year - 1900;
date.tm_mon = month - 1;
date.tm_mday = day;
date.tm_hour = hour;
date.tm_min = min;
date.tm_sec = sec;
SYSTEMTIME date = { 0 };
date.wYear = year;
date.wMonth = month;
date.wDay = day;
date.wHour = hour;
date.wMinute = min;
date.wSecond = sec;
date.wMilliseconds = msec;
Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, day, hour, min, sec);
cal.set(Calendar.MILLISECOND, msec);

java.util.Date date = 〜;

Calendar cal = Calendar.getInstance();
cal.setTime(date);

//date = cal.getTime();
ZonedDateTime date = ZonedDateTime.of(year, month, day, hour, min, sec, nanoSec, ZoneId.systemDefault()); var date = new Date(year, month - 1, day, hour, min, sec, msec);
引数は途中から省略可
DateTime date = new DateTime(year, month, day, hour, min, sec);  
加算     DateAdd("書式",値,日時) DateAdd("書式",値,日時)     cal.add(Calendar.YEAR, 1) date.plusYears(1)
date.plus(1, ChronoUnit.YEARS)
    日時 + 値
add_months(日時, 値)
    DateDiff("書式",日時,日時) DateDiff("書式",日時,日時)       dt1.until(dt2, ChronoUnit.DAYS)      
 
判断     IsDate("文字列")       DateFormat df = new SimpleDateFormat("書式");
df.parse("文字列", new ParsePosition(0)) != null
       
文字列変換     CDate("文字列")   struct tm date;
strptime("文字列", "書式", &date);
  Date date = new java.util.Date("文字列"); //非推奨
DateFormat df = new SimpleDateFormat("書式");
Date date = df.parse("文字列");
DateTimeFormatter df = DateTimeFormatter.ofPattern("書式");
ZonedDateTime date = ZonedDateTime.parse("文字列", df);
var date = new Date("文字列"); DateTime date = DateTime.Parse("文字列");

DateTime date = DateTime.ParseExact("文字列","書式",null);
to_date('文字列')

to_date('文字列', '書式')

to_timestamp('文字列', '書式')
  date '+書式' CStr(date)
Format(date,"書式")
  char buf[256];
strftime(buf, sizeof(buf), "書式", &date);
  DateFormat df = new SimpleDateFormat("書式");
String buf = df.format(date);
DateTimeFormatter df = DateTimeFormatter.ofPattern("書式");
String buf = date.format(df);
var buf = date.toLocaleString();
var buf = date.toString();
String buf = date.ToString("書式"); to_char(date, '書式')
書式は小文字も可
日付書式   %Y yyyy   %Y   yyyy yyyy   yyyy YYYY
  %y yy   %y   yy yy   yy YY
  %m mm   %m   MM MM   MM MM
  %d dd   %d   dd dd   dd DD
  %H hh   %H   HH HH   HH HH24
  %M nn
mm …hhの直後のみ
  %M   mm mm   mm MI
  %S ss   %S   ss ss   ss SS
            SSS SSS   fff FF3 …timestamp型のみ
%DATE:~0,4%   Year(日時) Year(日付) date.tm_year + 1900 date.wYear cal.get(Calendar.YEAR) date.getYear() date.getFullYear() date.Year  
%DATE:~5,2%   Month(日時) Month(日付) date.tm_mon + 1 date.wMonth cal.get(Calendar.MONTH) + 1 date.getMonthValue()
Month month = date.getMonth();
date.getMonth() + 1 date.Month  
%DATE:~8,2%   Day(日時) Day(日付) date.tm_mday date.wDay cal.get(Calendar.DATE) date.getDayOfMonth() date.getDate() date.Day  
%TIME:~0,2%   Hour(日時) Hour(時刻) date.tm_hour date.wHour cal.get(Calendar.HOUR_OF_DAY) date.getHour() date.getHours() date.Hour  
%TIME:~3,2%   Minute(日時) Minute(時刻) date.tm_min date.wMinute cal.get(Calendar.MINUTE) date.getMinute() date.getMinutes() date.Minute  
%TIME:~6,2%   Second(日時) Second(時刻) date.tm_sec date.wSecond cal.get(Calendar.SECOND) date.getSecond() date.getSeconds() date.Second  
ミリ秒 %TIME:~9,2%0       tv.tv_usec / 1000 date.wMilliseconds cal.get(Calendar.MILLISECOND) date.getNano() / 1000_000 date.getMilliseconds() date.Millisecond  

言語比較全般へ戻る / 参考文献 / プログラム記号比較 / 技術メモへ戻る
メールの送信先:ひしだま