• 締切済み

コマンドラインでの日付フォーマット指定は可能?

質問文そのままが質問になります。 つまりUNIXでよくやる ./a.sh system_`date +"%H%M%S"`.log みたいに指定し、ファイル名に今日の日付や時刻等を埋め込んで指定することは可能なのでしょうか? また、不可能であればこの指定を可能にするツール等は存在するのでしょうか? 文献を探してみましたがまったくわからなかったので質問させていただきます。それではよろしくお願いします。

  • ro-su
  • お礼率44% (11/25)

みんなの回答

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

No.1のarukamunです。 追記します。 質問No.613130のNo.2のBILLY-J様の回答の ---- ここから ---- ---- ここまで ---- の間をメモ帳にペーストして、適当なファイル名で拡張子をbatにして保存します。 その際に余計な文字列が入ってしまう為、無限ループする可能性がありますので、 FOR /F "TOKENS=1,2,3,4,* DELIMS=/:. " %%A IN ('ECHO %%DATE%%') DO SET WORKDATE=%%B%%C%%D と FOR /F "TOKENS=1,2,3,4,* DELIMS=/:. " %%F IN ('ECHO %%TIME%%') DO SET WORKTIME=%%F%%G%%H の行末にある空白文字を取り除いて保存してください。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは 過去の質問で同様のものと思われる質問がございましたので、ご参考まで。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=613130
ro-su
質問者

補足

えっと、この質問は、 「バッチプログラムを使ってファイルを生成」 しているものなので、今回のようなものには当てはまらないかと。 自分がしたいことはコマンドラインに直接日付フォーマットの入力ができないかということです。 情報ありがとうございました。

関連するQ&A

  • 日付フォーマット

    テーブルから日付データを取得してフォーマットしたいのですがうまくいきません。 DATETIME型の項目に入っている日時(Y-m-d H:i:s)を取得してY/m/dにフォーマットしようと $result = date("Y/m/d", $getdata); としたところ、結果が 1970/01/01 となってしまいました。 $getdataには存在する日時(Y-m-d H:i:s)が入っている事を確認しています 正しくフォーマットするにはどうしたら良いのでしょうか?

    • ベストアンサー
    • PHP
  • Solaris9でdateコマンドの結果がおかしい

    sun fire + Solaris9でシェルを作成しました。 目的は、1ヶ月前のログを削除する です。 で、こんなシェルを作成しました。 #!/bin/sh # logmove.sh DAY=`date +%d` RMDAY=`env TZ=JST+735 date +%Y%m%d` # 24H*31Day-9H=735 RMFILE=log_${RMDAY}.* (以下省略) しかし、この結果、$RMDAYには今日の日付しか返ってきません。これを RMDAY=`env TZ=JST+159 date +%Y%m%d` # 24H*7Day-9H=159 とすると、ちゃんと1週間前の日付が返ってきます。 dateの仕様なのか、シェルの仕様なのか良くわかりません。解決策はないでしょうか。

  • 日付型(時刻含む)を抽出条件にして行を抽出したい。

    はじめまして、よろしくお願いします。 現在SQLサーバー2000を使用してこの処理を行おうと思っております。 一度テーブルに格納したデータをSELECT文を使って抽出したい と思っているのですが、WHERE条件に日付型のフィールドを指定するとうまく行きません。(時刻が日付型のフィールドに入っている場合、うまくいきません。) やっていることは YMD(DATE型・主キー)、ID(VERCHAR型・主キー)、NAME(VERCHAR型) というのテーブル(テーブル名:MEIBO)に入っている 2002/02/02 14:10:55、0001、山田 太郎 というデータを 取込年月日、個人IDを指定して特定の列を取り出そうとしています。 SQL文は SELECT * FROM MEIBO WHERE YMD = '2002/02/02 14:10:55' AND ID = "0001' と記述していますが、一件もヒットしません。 DATE型のフィールドにはINSERTするときにGETDATE()をつかってシステム日付を 格納するようにしています。 GETDATE()ではなく、DATE()を使ってシステム日付を格納した 2002/02/02、0001、山田 太郎 という時刻の入っていないデータに対しては SELECT * FROM MEIBO WHERE YMD = '2002/02/02' AND ID = "0001' というSQL文でヒットするのですようです。 時刻が入ったらそのフィールドを抽出条件として使うことは無理なのでしょうか? 基本的な部分で勘違いしているのかもしれませんが なにかお気づきの点がありましたら、ご教授ください。

  • VBA ある日付の指定

    やりたいこと 例:今日の日付が4/1ならA1セルに『A』という文字を入れる というIF文を書きたいのですができません。 この場合、2022/4/1という限定的な指定方法ではなく 4/1なら(2023年や2024年でも指定できる)という形で コードを書きたいのですができませんでした。 すいませんが回答よろしくお願い致します。 sub test() if date = 4/1 then  range("A1").value="A" end if end sub

  • 【Excel】日付・時刻のアスタリスク形式について

    Excel2007利用です。 「セルの書式設定」の「表示形式」についてです。 (1)まず時刻についての表示がうまくいきません。 [日付]では「*2001/3/14」で設定すると例えば「2016-1-1」と入力すれば「2016/1/1」と表記されます。 しかし[時刻]についてはできず、例えば「13:30」で設定し、「13-30」と入力しても「13-30」と表記されるだけです。 次にアスタリスクの形式によって変わることについてです。 ------------------------------------------------------------------------------------------------------------------------- [時刻]は、日付/時刻のシリアル値を時刻形式で表示します。 アスタリスク(*)で始まる時刻形式は、オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わります。 アスタリスクのない形式は、オペレーティングシステムの設定が変わってもそのままです。 ------------------------------------------------------------------------------------------------------------------------- [日付]に[時刻]を入れ替えるだけで同じ説明文ですが、双方ともアスタリスクのことについて書かれています。 (2)シリアル値で日付を入れる場合、たとえば「1900年4月9日」を表記させる場合「100」と入力するようですが、http://www3.tokai.or.jp/excel/kansu/hiduke.htm 「シリアル値とは1900年1月1日を1とし、その日からの通算日数と時刻を表す値」ということであり、任意の日数を入れたい場合には、いちいち起算日から数えて入力しなければならないのでしょうか。 シリアル値を使うことはありませんが、どのような目的のためにあるのでしょうか?具体例を教えてください。 (3)アスタリスクの有無は、オペレーティングシステムでの設定によって変化に違いがあるいうことだと思いますが、 *あり➡「オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わる」 *なし➡「オペレーティングシステムの設定が変わってもそのまま」 それぞれの「種類」で設定しても何も変わりませんでしたが、これらの違いについて教えてください。

  • c言語で取得されるシステム日付について

    AIX上でc言語を使用したプログラムを 作っています。 開発環境が新しいAIXとなりそこでの疎通テストを しています。 テストの都合上、smitにてシステム日付を変更後、 テストを実施したところ動作は問題ないのですが C言語内でログを出す際の時刻が-9時間になっています。 Aix上でdateコマンドをうつと変更した正しい 日付時刻が表示されます。 C言語からだと何故違う日付がでるのでしょうか。 -9時間なのでGmtのことだと思いますがなにを 設定すれば解消さらるのか教えて下さい。 素人ですいません。

  • このcronコマンドの意味を教えてください

    下記のコマンドをの意味どなたかわかりますでしょうか。 * * * * * nobody /home/date/auto/bin/dimctrl.sh >>/home/date/log/auto.log 1、*のところで日時や時間を指定できるのはわかりますが、全部*にするといつ実行されるのでしょうか。 2、nobodyや>>の意味はなんでしょうか。 よろしくお願いします。

  • MySQLでデータが存在する日付を取得する方法

    MySQLで、DATETIME型のカラムから、指定した日数分の、データが存在する日付を取得することは可能でしょうか? 例えば、下記 table_a から最近3日分のデータが存在する日を取得したい場合、 2011-06-18 2011-06-16 2011-06-12 が最近3日のデータが存在する日なので、結果に示すようなものが取得したい内容となります。 (下記結果では、各日付けの最後の時刻が取得されていますが、時刻はどれでも構いません) もしそのようなことができるSQL構文がありましたら、ご教示ください。 よろしくお願いします。 (table_a) +---------------------+ | date | +---------------------+ | 2011-06-09 09:00:00 | +---------------------+ | 2011-06-09 15:00:00 | +---------------------+ | 2011-06-10 09:00:00 | +---------------------+ | 2011-06-11 09:00:00 | +---------------------+ | 2011-06-12 07:00:00 | +---------------------+ | 2011-06-12 09:00:00 | +---------------------+ | 2011-06-16 09:00:00 | +---------------------+ | 2011-06-18 09:00:00 | +---------------------+ | 2011-06-18 12:00:00 | +---------------------+ | 2011-06-18 20:00:00 | +---------------------+ (結果) +---------------------+ | date | +---------------------+ | 2011-06-18 20:00:00 | +---------------------+ | 2011-06-16 09:00:00 | +---------------------+ | 2011-06-12 09:00:00 | +---------------------+

    • ベストアンサー
    • MySQL
  • 指定した日付から今日までの日数をもとめるには?

    指定した日が例えば平成8年3月25日で今日までの日数は =IIf(Format([年月日],"dd")>Format(Date(),"dd"),DateDiff("d",[年月日],Date())-1,DateDiff("d",[年月日],Date()))と入力して3249日というふうに求めることができたのですがこの逆で指定した日付から3249日後は何年何ヶ月何日経っているのかを知りたい場合はどのようなことをしたらいいのかわからないです。すいません教えて下さい。 同じような質問が以前にしてあったらごめんなさい。

  • 日付

    プログラム初心者です 日付について教えてください googelで検索してみたら下記のようになっていました date( Ymd , time()); 質問1 今の時間を求める時はこの書き方でいいでしょうか? date( Ymd , time()); 質問2 time()は省略してもいいですか?その場合はtime()が第二引数に指定されるのですか? date( Ymd ); 質問3 1時間後を指定したい場合どうすればいいですか? よろしくお願いします

    • ベストアンサー
    • PHP