ASP.NET 2.0(C#) Datetime型のサーバー日付を書き換える方法

このQ&Aのポイント
  • ASP.NET 2.0(C#)でサーバー日付の書き換え方法について教えてください。具体的には、Datetime型の日付部分のみを書き換えたいです。
  • 経験が浅いため、良い方法が見つけられません。お手数ですが、具体的なコード例を教えていただけると助かります。
  • 目標は、サーバー日付の日付部分を指定した日付に書き換えることです。例えば、20080101の日付部分を28に書き換えたいです。
回答を見る
  • ベストアンサー

ASP.NET 2.0(C#) Datetime型

サーバー日付を取得して、日付の部分のみを書き換えたいのですが、方法が分かりません。 どなたか教えていただけないでしょうか・・ ASP.NET 2.0(C#)です。 実現したい内容は Datetime dt = DateTime.now;(例えば 20080101...) string day = "28"; // dtの日付部分にdayの"28"を入れたいわけです。 Datetime dt2 = (20080128...にしたいです) 色々調べてみたのですが、まだまだ経験が浅いせいか、良い方法を見つけることが出来ません。 よろしくお願いします(>_<)

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

DateTime dt = DateTime.Today; //時分秒が要らない場合 DateTime dt2 = DateTime.Parse(dt.ToString("yyyy/MM/28")); または DateTime dt = DateTime.Now; //時分秒が要る場合 DateTime dt2 = DateTime.Parse(dt.ToString("yyyy/MM/28 HH:mm:ss"));

leon326
質問者

お礼

DateTime dt2 = DateTime.Parse(dt.ToString("yyyy/MM/28 HH:mm:ss")); まさしくコレです!!!ありがとうございました^^

関連するQ&A

  • datetimeからDateTimeへ変換

    SQL Server 2005 ExpressとASP.NET 2.0(C#)を組み合わせて使っています。 SQL Serverのデータベースから取り出したdatetime型のデータをASP.NETのDateTime型に変換するには、どのようにすればよいのでしょうか?

  • VC++ DateTimeを使った現在時刻取得

    VC++(CLI)で、現在時刻をstd::string文字列として、取得しようとしています。 時刻取得に、DateTime::ToStringを使うと、System::String でしか取得できません。 DateTime dt = DateTime::Now; String^ st= dt.ToString("HH:mm:ss");                  ↑この形式で、std::string文字列を取り出したい。 System::String から std::stringへの変換は、単純なキャストではなく変換処理が必要なので、他の方法を探しています。 他に思いつくのは、標準関数のtime.h localtimeから変換する方法くらいですが、他にstd::stringで必d家を取得する方法があれば教えてください。 環境: Win7 VC++2010 Express

  • DateTimeを最初からString型にする方法

    DateTimeを最初からString型にする方法 こんにちは。C#のキャストについてお教え頂けませんでしょうか。 下記はファイルの作成日を取得し、それをstring型に変換しています。 FileInfo fi = new FileInfo(FILE); DateTime CreationTime = fi.CreationTime; string CreationTime2 = CreationTime.ToShortDateString(); DateTime型の変数に情報を格納した後に、String型の変数にキャストした情報を格納しています。 これでは二度手間なので、一度でできる方法はないでしょうか? 下記のコードは動きませんが、やりたいのは下記のようなことです。 String CreationTime = (string)fi.CreationTime; 最終的に何がしたいかというと ・データベースよりデータを取得しDataSetに格納 ・データセットの日付列の値を取得。日付列はvarchar型です。 ・日付列の値をstring型変数に格納 ・fi.CreationTimeで取得した日付とDataSetで取得した日付を比較 ・以上のような事をしたいと思っています。よってCreationTimeをString型に変換したいです 宜しくお願い致します!

  • C# LinqでDateTime型の値を取得

    C#でLinqを使用し、DateTime型の値を取得しようとしているですが、 DateTime型の変数に格納する際に、以下のようなエラーが発生してしまいます。 'System.DateTime?' を 'System.DateTime' に暗黙的に変換できません。 どうやらDBから取得したDateTimeの値が、「System.DateTime?」という型になっているようなのですが、原因は何でしょうか? また対応方法を教えてください。 尚、DBはSQL Server2005で.Net3.5です 宜しくお願いします。

  • DateTime.ParseExactについて

    DateTime.ParseExactについてハマっております。 VB2010環境にてDateTime.ParseExactの質問をさせてください。 http://www.atmarkit.co.jp/fdotnet/dotnettips/203dateparse/dateparse.html こちらのページを参考してDateTime.ParseExactの使い方を練習しております。 この2つについては希望通り出力されました。 Dim d, f As String Dim dt As DateTime d = "20040824202306" f = "yyyyMMddHHmmss" dt = DateTime.ParseExact(d, f, Nothing) d = "2004年08月24日20時23分06秒" f = "yyyy年MM月dd日HH時mm分ss秒" dt = DateTime.ParseExact(d, f, Nothing) しかし、これについてエラーが出てしまいます。 d = "2004/08/24 20:23:06" f = "yyyy/MM/dd HH:mm:ss" dt = DateTime.ParseExact(d, f, Nothing) 「FormatException はハンドルされませんでした。  文字列は有効な DateTime ではありませんでした。」 試しに日付だけにして試してみましたがやはり同じエラーが出ます。 d = "2004/08/24" f = "yyyy/MM/dd" dt = DateTime.ParseExact(d, f, Nothing) どこが間違っているのでしょうか。 ご指導のほど、よろしくお願い致します。

  • サーバから取得したdatetime型の変換

    いつもお世話になります。 初めて質問させていただきます。 初心者のため、不足の部分あるかと思いますが どうぞよろしくお願いいたします。 SQLServer2000サーバからSQLによるデータ取得を行いファイルに出力し、 そのファイルの内容を違うサーバに送るという課題があります。 そのうちサーバからデータを取得してファイルに出力するまでが 現在の私の担当部分になります。 その取得するデータの中にdatetime型の項目が存在しています。 これをファイル出力するためにchar型に変換を行いたいのですが、 良い方法が思いつきません。 time_t型からtm型に変換してそこからchar型に変換することを考えたのですが、 取得してきた項目自体をtime_t型に変換する根本の方法が わかりません。 取得してきた項目はlong型の値になっているようですので long型からtime_t型への変換ができれば localtime関数を使用してtm型に変換できるのですが。 上記のような方法が無いのでしょうか。 また皆様の中で過去にdatetime型の項目取得を行った経験をお持ちの型が いらっしゃいましたら参考にお話いただけませんでしょうか。 上記で何か不足部分ございましたらご指摘ください。 よろしくお願いいたします。

  • C#のタイマーについて

    タイマーのプログラムを作っています。 namespace WindowsApplication3 { public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; protected System.Windows.Forms.Label label5; protected System.Windows.Forms.Label label6; protected System.Windows.Forms.Button button1; protected System.Windows.Forms.Button button2; protected DateTime dt; protected DateTime recTime; private System.Windows.Forms.GroupBox groupBox1; protected System.Windows.Forms.RadioButton radioButton1; protected System.Windows.Forms.RadioButton radioButton2; private System.Windows.Forms.Timer timer1; private System.ComponentModel.IContainer components; public Form1() { // // Windows フォーム デザイナ サポートに必要です。 // InitializeComponent(); DateTime dt; dt=DateTime.Now; string a="00"; string b=a; string c=a; label4.Text = string.Format("{0}時{1}分{2}秒", dt.Hour, dt.Minute,dt.Second); label5.Text = string.Format("{0}時{1}分{2}秒",a,b,c); label6.Text = string.Format("{0}時間{1}分{2}秒",a,b,c); // // TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。 // dt=DateTime.Now; } /// <summary> /// 使用されているリソースに後処理を実行します。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows フォーム デザイナで生成されたコード /// <summary> /// デザイナ サポートに必要なメソッドです。このメソッドの内容を /// コード エディタで変更しないでください。 <<  文字数オーバーのため 省略>> /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void button2_Click(object sender, System.EventArgs e) { Application.Exit(); } protected void timer1_Tick(object sender, System.EventArgs e) { DateTime dt; dt=DateTime.Now; label4.Text = string.Format("{0}時{1}分{2}秒", dt.Hour, dt.Minute,dt.Second); } protected void button1_Click(object sender, System.EventArgs e) { DateTime recTime; recTime=DateTime.Now; TimeSpan k; k=dt-recTime; label5.Text=string.Format("{0}時{1}分{2}秒",recTime.Hour,recTime.Minute,recTime.Second); label6.Text=string.Format("{0}秒",k.Seconds); } } } このプログラムでは ボタン1をクリックするとlabel6に経過時間 label5に記録時間を出力させたいのですが、TimeSpanクラスが上手く使えず、経過時間がマイナスになってしまいます。アドバイスお願いします。

  • C#経過時間の求め方

    C#経過時間の求め方 お世話になっております。 初歩的な質問かもしれないので申し訳ないのですが、 やり方がわからなかったため質問させていただきます。 現在日時から定義の時間を引いた経過時間を求めたいのですが、やり方がわかりません。 現在、以下のようにやっているのですが、 データ型の規定を外れてしまうためエラーになってしまいます。 --------------------------------------------- string date = "2010/09/25"; string time = "13:00:00"; string[] b = {}; string[] c = {}; DataTime a; b = date.Split('/'); c = time.Split(':'); a = DateTime.Now.AddYears(-int.Parse(b[0])); a = DateTime.Now.AddMonths(-int.Parse(b[1])); a = DateTime.Now.Add(new TimeSpan(-int.Parse(b[2]), -int.Parse(c[0]), -int.Parse(c[1]), -int.Parse(c[2]))); --------------------------------------------- 経過時間を求めたいので、 ○時間○分だけでも表示できるようにしておきたいです。 何か適切な方法はありませんでしょうか? ご回答頂ければありがたく思います。 宜しくお願い致します。

  • datetime型で日付計算ができません。

    開始日時(start_date)の20日を経過したレコードを削除したいのですがSQLで行う方法がわかりません。 start_dateはMySQLのdatetime型です。 select * from test where start_date + 20days < now() な感じ消せると思ったのですが調べても方法が 見つかりませんでした。

    • ベストアンサー
    • MySQL
  • C#でAccess2003データ更新時に発生するのエラーの内容がわからなくて困っています。

    お世話になります。 とある工場で使用されているデータベースの内容をC#で変更、更新を するプログラム改造を手がけています。データベースはAccess2003で 作成されていて、データベースの読込み、変更、更新はできるのですが、 一部のフィールド名に "DateTime" 、"String" と名前がつけられている箇所があり、この部分については"UPDATEステートメントの構文エラーです" となってしまします。他の部分については全く問題なく更新できています。例えば"Data01"など… プログラム概要は System.Data.OleDb.OleDbConnection cn; System.Data.OleDb.OleDbDataAdapter ap; System.Data.OleDb.OleDbCommandBuilder cb; DataSet ds; DataRow dr; DataTable dt; ---処理--- dt.Rows[n]["DateTime"] = DateTime.Now.ToString(); ap.Update(ds,"t_MINIDATATBL"); となっており、"DateTime" "String"フィールドのところだけアップデート実行のところで例外処理となってしまいます。 "DateTime"や"String"などのようにC#で使われているキーワードと同じ名前はまずいのでしょうか? しかし、データベースは客先の物なので勝手にフィールド名は変えられません。 一時的にフィールド名を変更して、処理終了時に元のフィールド名に戻すなどという手法などありますでしょうか? また、他の方法などもありましたらご教授願います。 環境: コンパイラ VisualStudio2008 C# データベース Microsoft Access2003 以上、よろしくお願い致します。

専門家に質問してみよう