sand a lot Web Design

当サイトは現在リニューアル作業中です。
見る度に内容が少しずつ変化すると思いますが、ご了承下さい。
旧Webサイト

PHPの関数strtotimeの使用例

プログラミングTips 2010/08/19

以前にPHPの『strtotime()』という関数について軽く触れましたが、もう少し詳しく、実際の使用例をいろいろ列挙します。
************************************************************************
〜週間前を取得 : strtotime(“-3 weeks”);
〜時間後を取得 : strtotime(“+4 hours”);
〜分前を取得 : strtotime(“-30 minutes”);
〜秒後を取得 : strtotime(“+30 seconds”);
************************************************************************
以上のように、引数部分に文字列で『プラスまたはマイナス & 数字 & 英語での単位』と指定すると、それに従ったUNIXタイムスタンプが得られます。

これは複数を組み合わせて使用することもできます。以下にその例を記述致します。
************************************************************************
2年と3月後を取得 : strtotime(“+2years +3months”);
10日前の3時間30分後を取得 : strtotime(“-10days +3hours +30minutes”);
************************************************************************

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


ようやくSmarty

新着情報&業務日誌 2010/08/03

様々なWebサイト制作において、ここ最近はWordPressやxoopsなどのCMSを使用して制作することが非常に多くなっています。CMSは非常に便利なのですが、実際に使用するとなるとそれはそれでいろいろなメリットやデメリットがあるため、それらを全てを加味して実際に使うかどうかを決定しているわけですね。

そのメリットでもありデメリットでもあるのが、CMSにおけるSmartyです。判ってしまえば非常に便利なのですが、簡単なプログラミング言語のようなものなので、少し覚えることが増えてしまいます。プログラミングの基礎がある程度は判らないと、理解が非常に大変なのではないかなと思っています。逆にこれが無いとCMSにおいてはいろいろなカスタマイズが出来ません。

当方でも最近ようやく使いこなせるようになってきたかなという実感はあるのですが、まだまだ判っていない部分も多い気がしていて、日々学習しています。(新しい言語を覚えているような気分なので、楽しくもあるのですけどね。)

いずれSmartyのTipsもこのサイトに掲載したいと考えています。


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

プログラミングTips 2010/08/03

日付の比較に使うことが多いのではないかと思われる関数です。
・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 2010/07/28

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
**********************************************

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


VBAでUNIXタイムスタンプを取得する方法

プログラミングTips 2010/07/20

日付関連関数つながりで・・・

現在のUNIXタイムスタンプをVBAで取得するには以下の構文を使うとよいです。(時差の都合があるので日本国内限定でしか使えません。)
**************************************************
DateDiff(“s”, “1970/1/1 9:00″, Now)
**************************************************

『Now』という部分に時刻を入力する事で、その時刻のUNIXタイムスタンプを得る事も可能です。
**************************************************
DateDiff(“s”, “1970/1/1 9:00″, “2010/7/20 10:20:31″)
**************************************************

要するに、A時点とB時点の時間の差を取得する『DateDiff』関数を使って、A時点を『1970/1/1 9:00』(9:00はグリニッジ標準時との時差による)とし、B時点をUNIXタイムスタンプを取得したい時刻として、その間の秒数を取得すればよいわけです。

VBAの日付関連関数に関しての詳しい事はまたいずれ。

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