• 締切済み

日付(文字列)を数値に戻す

kmetuの回答

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

こちらが参考になるでしょうか Date::Simpleモジュール 使い方メモ http://d.hatena.ne.jp/goryugo/20071120/1195494864

参考URL:
http://d.hatena.ne.jp/goryugo/20071120/1195494864

関連するQ&A

  • 文字列の日付を並べ替えするには?

    エクセル データーベースを作成していて、項目の中に日付データがあるのですが、 日付データの入れ方が 平成15年10月(日付なし) ならば 15.10(文字列) となっています。 レコードを日付の昇順に並べ替えたいと思っているのですが、文字列でデータが入っているためレコードを正確な順番で並べ替えることができません。 どのようにしたら日付順で並べ替えができるのか、教えてください。 お願いします。 | 日付 | 氏名  | |15.10  |中川   | |15.11  |山本   | |15.2  |坂下   | |15.3  |中畑   | 上のようなデータです。 又、できない場合、以降の入力にだけでもユーザー定義を設定しようかとも考えています。 どのようなユーザー定義を設定すると、簡単にデータを入力できるかご助言もお待ちしております。

  • inputManの日付入力について

    inputManのimDateで日付を入力させて、ボタンを押した際に +1日をして変数にセットをしたいのですが、やりたかがいまいちわかりません・・・ Date + 1みたいにしたいなとは思ったものの 取得する際に、time1 = Mid$(val(imDate1.number),1,8)としています。 これの場合数値として取ってしまっているので日付を次の日にするのは無理ですよね? 何か方法がありましたら教えてください・・・・

  • マクロのなかの一部(日付)を書き換えたい

    マクロのなかの一部(日付)を書き換えたくてその部分を変数で 変更したいのですがうまく行きません少し長くなりますが下記の どの部分を直したら良いのでしょうか御教願えませんでしょうか セル Range("K1") に 20081007 の日付が入っています Sub Tuika1() Dim xxx As String xxx = Range("K1") Range("A6").Select With Selection.QueryTable .Connection = "URL;http://www.?????.com/data/daily.cgi/& xxx &.html" .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "5,6,7,10,11,12,13,14,15,16,17,18,19,20" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub

  • 【意見募集】文字列カラムに対してループを回す

    作る時にちゃんと考えれば良かったのですが、、、 日付@文字列カラム(yyyy/mm/dd hh:ss:mm)に対して、 集計作業をするために、PHPでループさせ、 SQL文を発行し結果を取得しています。 ループ内の処理が軽いうちや、 ループ回数が少ないうちは、実行結果表示までの速度が、 気にならないのですが、出来ればもっと簡潔に書き、 処理が増えた時でも遅くならないようにしておきたいと思いまして・・・。 調べた限りでは、出来ないようですが、 IN句を使って、LIKE検索のようなことが出来れば、 ループを無くして、より早く結果が取得出来るかと思うのですが、 このような場合、プロの方はどのようなコードを書かれるのでしょうか? 環境は、 ----------- mysql:5.0.77 php :5.1.6 ----------- 現状は、 -------------------------------- SELECT * FROM `order` WHERE `time` LIKE '[日付変数]%' -------------------------------- というようなSQL文をループを回して発行し、 都度返り値を配列に入れ、表示しています。 サンプルコードは以下、 -------------------------------- //日付の取得処理 $start_day = $_REQUEST['start_day']; $end_day = $_REQUEST['end_day']; //日付の間隔取得 $day_span = ( (strtotime($start_day)-strtotime($end_day) ) / 86400 ) +1; //集計値配列セット $counts = array(); //集計値取得 for($a = 0; $a < $day_span ; $a++) {   //日付変数   $days = date( "Y/m/d",strtotime($start_day) + (86400 * $a) );   //SQL文生成   $GET_Query = "     SELECT count(*)     FROM `order`     WHERE time = LIKE '$days%'   ";   //SQL文実行   $res = mysql_fetch_row($GET_Query);   $counts[] = $res[0];   $res = array(); } echo '<pre>'; var_dump($counts); echo '</pre>'; exit(); -------------------------------- 意見をいただきたいのが、 WHERE句に日付@文字列カラム(yyyy/mm/dd hh:ss:mm)の条件を 指定する場合、 -------------------------------- SELECT * FROM `order` WHERE `time` LIKE '[日付変数]%' OR `time` LIKE '[日付変数]%' OR `time` LIKE '[日付変数]%' OR … -------------------------------- -------------------------------- SELECT * FROM `order` WHERE `time` LIKE '[日付変数]%' をループで回す -------------------------------- などとする以外の方法があるか。 また、それは上記より実行速度が早いのかどうか。 についてご意見いただければ幸いです。

    • ベストアンサー
    • MySQL
  • 日付処理について

    いつもお世話になってます。 環境はPHP5のMYSQLです。 DBに持っている登録日付から、ライセンスの期限を チェックするようなロジックを書きたいのですが 例えば変数や定数に「1」を与えたらDBの登録日から 1週間後、「2」なら2週間後のタイムスタンプを算出 するようなことは出来ますか? それから週単位ではなく、月単位や年単位など。 DBの日付は、タイムスタンプで持っています。 説明がちょっとうまくないので、足りないところは ご指摘頂ければ、補足します。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • テキストボックスの日付と文字列の処理

    Excel 2007 VBAを使用しています。 下記のようなことを考えています。 1. テキストボックスにyyyy/m形式の日付データを入力 2. ボタンシートのコマンドボタンを押下。 3. テキストボックスの日付データを確認 4. 商品シートの列値、日付データ(A列)、商品番号(B列)、商品名(C列)、状況(D列)から条件に 該当した行を結果シートに行コピー。   ただし、日付データ(A列)には日付データ以外にも文字列データ、"未定"、空白セル("")などがございます。 そして、商品シートの3行目のベッダー情報は先頭に置いて、その下に該当行を行コピーしていく。 質問; 解らないのは、同じif文で日付データと文字列データとの処理です。 テキストボックスのyyyy/m形式の日付データを基にその日付以降の該当する行を別のシートに コピーしていくのですが、参照元の商品シートの日付データ(A列)には他に文字列データが存在します。 この文字列データも抽出の対象にしたいのです。 あと、テキストボックスのyyyy/m形式の日付データは半角入力しますが全角入力されたとき エラー表示させる方法はありますか? これらの処理を行うにあたりサンプルなるコードはありませんか? 商品シートの3行目のベッダー情報は先頭に置いて、その下に該当した行を行コピーしていく。 1. 商品シート; 注文日付 商品番号 商品名 状況 2010/9 312000 ノコギリ 受取済み 2014/5    542000 ハンマー n/a 未定 544000 トンカチ n/a (空白セル) 542000 ハンマー n/a 2014/11 312000 ノコギリ 注文中 ・ ・ 2. ボタンシートで、日付データを入力(2014/5)、実行ボタンを押下。 条件は2014/5以降で、状況が"受取済み"、"注文中"以外の行データをコピーして状況が未確定のリストを作成します。 そして、注文日付が"未定"、空白セル("")の行データもコピーします。 そして、順次、結果シートに行コピーしてします。 結果シート; 注文日付 商品番号 商品名 状況 2014/5    542000 ハンマー n/a 未定 544000 トンカチ n/a (空白セル) 542000 ハンマー n/a ・ ・ VBAコード; Option Explicit Private Sub CB2_Click() '変数を定義 Dim i As Long Dim maxRow As Long Dim cnt As Long Dim inSheet As Worksheet Dim outSheet As Worksheet '入出力先のシートをオブジェクト変数へ格納 Set inSheet = Worksheets("商品シート") Set outSheet = Worksheets("結果シート") 'テキストボックスの内容を判定 '全角入力されたときエラー表示させる方法はありますか? If (Me.TextBox1.Value = "") Or (Not IsDate(Me.TextBox1.Value)) Then MsgBox "日付が正しく入力されていません" Exit Sub End If maxRow = inSheet.Cells(Rows.Count, "A").End(xlUp).Row '商品シートの最終行番号で分岐処理 If maxRow > 3 Then '出力先を削除してヘッダーをコピー outSheet.Cells.Delete inSheet.Range("A3").EntireRow.Copy outSheet.Range("A1") Application.CutCopyMode = False Else '4行目以降にデータが入力されていなければメッセージで終了 MsgBox "該当データがありません" Exit Sub End If '4行目から最終行まで繰り返し For i = 4 To maxRow 'ここからが上手くいきません。 'If IsDate(inSheet.Cells(i, "A").Value) Then 'フィルター条件; 'A列 注文日付 → 2014年05月以降、未定、(空白セル) 'D列 金額 → 受取済み、注文中以外 If inSheet.Cells(i, "A").Value >= CDate(Me.TextBox1.Value) And _ CStr(inSheet.Cells(i, "A").Value) = "未定" And _ CStr(inSheet.Cells(i, "A").Value) = "" And _ CStr(inSheet.Cells(i, "D").Value) <> "受取済み" And _ CStr(inSheet.Cells(i, "D").Value) <> "注文中" Then inSheet.Rows(i).Copy outSheet.Rows(cnt + 2) cnt = cnt + 1 End If 'End If Next i End Sub

  • 【Access97】和暦日付について

    書類送付案内状をAccess97にて作成しておりますが、Access97では日付を和暦表記にできないらしく、以下のような数式を設定して強引に和暦表記させています。 -------------------------------------------------------------------------------------  [クエリー] 日付: Date$()        西暦: Left$([日付],4)  [レポート] ="平成" & ([西暦]-1988) & "年" & Mid$([日付],6,2) & "月" & Right$([日付],2) & "日"  [結果] 2009/4/16の場合 → 平成21年04月16日 ------------------------------------------------------------------------------------- 但し、実際の発送日は案内状を印刷した翌日になってしまうので、本当は「平成21年04月17日」にしたいのです。 そこで質問です。  (1)どのように+1日を入れ込むのでしょうか?(土・日・祝日を挟む場合は+数字を都度加工します)  (2)これ以外にもっと簡単な数式はありますか? ご回答をお待ちしております。

  • 0から始まる文字列を作りたい

    お世話になります。 個人でサイトを作ろうとしているのですが、 掲題の件がどうしても出来ず困っています。 具体的には、 ------------------------------- $year = '2009'; $month = '08'; $year2 = substr (($year),3,2); echo $year2 . "年". $month . "月"; ------------------------------- 上記の処理で今年の日付を 09年08月という表示をPHPを使って行いたいのですが、 9年08月と、どうしても頭の"0"が表示されないのです。 strvalなどは試したみたのですが、 上手くいかず・・・。 そもそも0から始まる数字を表示することは、 PHPでは出来ないのでしょうか? 宜しくおねがいします。

    • ベストアンサー
    • PHP
  • マルチバイトのチェック

    文字を格納した変数に、マルチバイトが含まれていたらtrue無ければfalseみたいな処理がしたいのですが、どのようにすればよいでしょうか?

    • ベストアンサー
    • PHP
  • 日付のセレクトボックスで0付きの日付にしたい

    ネットで探した式を張り付ける位しかできない超初心者です。 以下のような当日表示の日付のセレクトボックス を探してペーストしたのですが1や2を01、02と表示しません。 これをどうやって直せば01,02,03,04,05と0付きの表示のセレクトボックスに 直せるでしょうか? どうぞよろしくお願いいたします。 <? $time = time(); $year = date("Y", $time); $month = date("n", $time); $day = date("j", $time); print("<select name=\"ayear\">"); //年は修正してください for( $i = 2010; $i <= 2020; $i++ ){ if( $i == $year ){ print("<option value=\"$i\" selected>$i</option>"); }else{ print("<option value=\"$i\">$i</option>"); } } print("</select>年"); print("<select name=\"amonth\">"); for( $j = 1; $j <= 12; $j++ ){ if( $j == $month ){ print("<option value=\"$j\" selected>$j</option>"); }else{ print("<option value=\"$j\">$j</option>"); } } print("</select>月"); print("<select name=\"aday\">"); for( $k = 1; $k <=31 ; $k++ ){ if( $k == $day ){ print("<option value=\"$k\" selected>$k</option>"); }else{ print("<option value=\"$k\">$k</option>"); } } print("</select>日"); ?>

    • ベストアンサー
    • PHP