sand a lotからのお知らせ及び最近の業務について不定期にまとめています。
PHP、JavaScriptやVBAなど、いくつかの言語について使えそうな情報を少しずつ掲載していきます。
DTM MATRIX

PHP – 現在時刻の取得方法いろいろ

プログラミングTips 2011/08/31

■現在時刻の取得方法はいろいろあります。それを記述してみます。
☆UNIXタイムスタンプで取得
************************************************************************
time()
strtotime(“Now”)
date(“U”)
mktime()
************************************************************************
現在時刻をUNIXタイムスタンプで、という目的であれば、上記4つはどれを使っても結果は同じになります。

☆いろいろなフォーマットで取得
************************************************************************
localtime() → 配列に格納
getdate() → 連想配列に格納
date() → 引数にフォーマットを指定
************************************************************************
localtime()はPerlと同じように配列に、getdate()は連想配列に、date()は引数に好きなフォーマットを指定して文字列で取得、という使い分けになります。

※ちなみにこの記事は過去に別ブログで掲載していたものを若干加筆修正したものです。


VBAで日付を扱う時によく使う関数(2)

プログラミングTips 2011/06/25

日付の比較に使うことが多いのではないかと思われる関数です。
・DateDiff
・DateAdd
・DatePart

簡単に説明すると、DateDiffは指定した2つの時点の間隔を出力する関数、DatePartはある時点から指定した時点までの間隔を出力する関数、DateAddはある時点に指定した時間を足した(引いた)時点を出力する関数です。
例を以下に記述致します。

DateDiffの例
********************************************************************
DateDiff(“m”, “2010-5-26″, “2010-7-22″) → 2 (ヶ月)
DateDiff(“ww”, “2010-5-26″, “2010-7-22″) → 9 (週)
DateDiff(“s”, “2010-5-26″, “2010-7-22″) → 4924800 (秒)
DateDiff(“y”, “2010-5-26″, “2010-7-22″) → 57 (日)
********************************************************************

DatePartの例
********************************************************************
DatePart(“w”, “2010/7/26″) → 1 (日目、日曜日を1日目として)
DatePart(“d”, “2010/7/26″) → 26 (日目、月の初めを1日目として)
DatePart(“y”, “2010/7/26″) → 207 (日目、1月1日を1日目として)
DatePart(“ww”, “2010/7/26″) → 30 (週目、1月1日の週を第一週目として)
DatePart(“q”, “2010/7/26″) → 3 (四半期)
********************************************************************

DateAddの例
********************************************************************
DateAdd(“m”, 2, “2010-7-22″) → 2010/09/22
DateAdd(“ww”, 2, “2010-7-22″) → 2010/08/05
DateAdd(“d”, 2, “2010-7-22″) → 2010/07/24
DateAdd(“q”, 2, “2010-7-22″) → 2011/01/22
DateAdd(“yyyy”, 2, “2010-7-22″) → 2012/07/22
********************************************************************
この関数の第二引数には負の数を指定することもできます。

■実際の使用例
Ifで『最近一ヶ月以内なら』というような条件を指定したい時は、以下のようなソースを使ってみてはどうでしょうか?
********************************************************************
If DateAdd(“m”, -1, Date) > “2010/07/03″ Then
MsgBox “一ヶ月以上前です”
Else
MsgBox “一ヶ月以内です”
End If
********************************************************************
ここでは『”2010/07/03″』の部分に対象となる日付を入れる事で、最近一ヶ月以内かどうか判断することができます。

また『今月中なら』というような条件を指定したい時は、以下のようなソースになります。
********************************************************************
If DatePart(“m”, Date) = DatePart(“m”, “2010/08/03″) Then
MsgBox “今月中です。”
Else
MsgBox “今月中ではありません。”
End If
********************************************************************
ここでは『”2010/08/03″』の部分に対象となる日付を入れる事で、その日が今月中かどうか判断することができます。

■VBAでの日付比較のTips
VBAの場合、日付が正しいフォーマットで記述されていれば、『”2010/08/03″ > Date』のように直接比較できるので便利です。

※この記事は過去に別ブログで掲載していたものを若干加筆修正したものです。


VBAで日付を扱う時によく使う関数(1)

プログラミングTips 2011/06/25

VBAで日付を扱う時によく使う関数についてです。

まず日付関連関数を扱うのを前提として、必要なデータ型に『Date型』というものがあります。
(後述する『Date関数』とは意味が違いますのでご注意を。)
これを画面に出力すると『2010/07/28』というように出力されます。

■よく使う日付関連関数(1)
よく使う関数は以下のような関数です。
・Date
・Year
・Month
・Day

■Date、Year、Month、Dayについて
Dateは現在の日付を取得する関数です。『年/月/日』というフォーマットで出力されます。
Year、Month、Dayは引数に入力された日付から、それぞれ年、月、日を取得します。また引数は正常に日付を表していれば、いろいろなフォーマットに対応しています。以下に例を記述します。
**********************************************
Year(“2010-7-28″) → 2010
Month(“2010/07/28″) → 7
Day(“2010年7月28日”) → 28
**********************************************

またDateとYear、Month、Dayを組み合わせることで、現在の年のみ、月のみ、日のみを取得することもできます。
**********************************************
Year(Date) → 2010
Month(Date) → 7
Day(Date) → 28
**********************************************

※この記事は過去に別ブログで掲載していたものを若干加筆修正したものです。


パソコンに関することなら可能な限り何でも対応致します。