日付表示について

解決


weekday  2006-01-17 19:50:28  No: 93654

weekdayともうします。よろしくお願いします。

VB5を使って、
Format関数とNow関数で日付を表示する処理を作っているのですが、
Format関数での出力書式で解らない事があります。

例えば、今日の日付を、
Format$(Now(),"YYYY/MM/DD")ってやれば、
「2006/01/17」が出力されますよね。

これを、
Format$(Now(),"YYYY/ M/ D")ってやれば、
「2006/ 1/ 17」が出力されてしまいます。

つまり、月、または、日が1桁のときは、前に1つ空白を出力し、
2桁のときは、空白が出力されないようにするには
どうすればいいのでしょうか?

よろしくお願いします。


ガッ  2006-01-17 19:55:57  No: 93655

例えば
  debug.? format$(format$(dateserial(1900,12,30),"M"),"@@")
もしくは
  debug.? right$(" " & format$(dateserial(1900,12,30),"M"),2)
他にも、配列をテーブルの様に用いて、
  dim i as long
  dim month(1 to 12) as string *2
  for i=1 to 12
    month(i)=right$(" " & i,2)
  next
このmonth()を使って月表示をする

等など?


weekday  2006-01-17 20:23:54  No: 93656

ガッさん、

>format$(format$(dateserial(1900,12,30),"M"),"@@")

上記の方法でしたら出来ましたが、

できれば、Format関数に書式を与える事で
一発(年月日を同時に)で取得する方法ってないのでしょうか?


なな  2006-01-17 20:26:01  No: 93657

http://www7.big.or.jp/~pinball/discus/vb/60498.html


ひろ  2006-01-17 23:31:59  No: 93658

ReplaceがVB6の新機能の所に書いてあるのでVB5だと無理っぽいけど・・・

今思いつく最短のコード

Replace(Format$(Now(), "YYYY\/MM\/DD"),"/0","/ ")


weekday  2006-01-18 00:04:34  No: 93659

ひろさん、

>Replace(Format$(Now(), "YYYY\/MM\/DD"),"/0","/ ")

ちょっと、むりでした。

MMじゃなく、Mでもない、何か別の文字で表す事ってできないのかなぁ。


なな  2006-01-18 00:25:04  No: 93660

>何か別の文字で表す事ってできないのかなぁ。

まずは、文字指定がどんな種類があるのかを確かめては?


Dental  2006-01-18 00:44:30  No: 93661

> まずは、文字指定がどんな種類があるのかを確かめては?

でもって、もしもそこに該当する物がないのであれば、
Format単体での一発指定は、無理って事になりますね。


Blue  2006-01-18 00:49:49  No: 93662

VB6ですが

MSDN 日付/時刻表示書式指定文字 (Format 関数)
http://www.microsoft.com/japan/developer/library/vbenlr98/vafmtuserdefineddateformats.htm

書式指定文字でできないようならば、自力で文字列にしたほうが早いですね。
# それか、
# "YYYY/" & IIf(Month(d)>9,"MM/"," M/") & IIf(Day(d)>9,"DD"," D") 
# 見たいに文字列作る?(ありえないなw)


Seraph  2006-01-18 01:00:33  No: 93663

うーん、無理っぽいね
私ならそういう関数を作ってしまいますね。

->Blue さん
これが結構ありえたりして、、
銀行系とかでは、読み違い防止のためとかで、
特にリスト表示などでは桁位置のずれが嫌わ
れる傾向にあると思う(最近はどうかわからないけど、、、)


  2006-01-18 02:59:11  No: 93664

はじめまして。

自分でフォーマット関数を作ってファンクションにすれば良いのでは?

一個作ればあとは気にせず使えるかと


weekday  2006-01-18 18:44:08  No: 93665

weekdayです。おはようございます。

みなさんの意見を参考にして関数を作る事にします。

どうも、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加