1

ユーザーが日付、時間、イベントをスケジュールするアプリケーションを開発しています。24 時間ではなく、hh:mm:ss AM/PM 形式で時間を保存できる方法があるかどうか疑問に思っていました。

  • 私の質問は十分に明確ではなかったと思います。いくつかのものを追加してください

問題定義 : PHP-MSSQL(Windows) Web サービスからPHP-MYSQL(Linux)への移行

  1. バックエンドはy2k、古いプログラムが単一のプラットフォームとしてリリースされる前に作成されました。開発者がこのプログラムを Web に移植する前に、DMS (データ入力担当者向けのデータベース管理システム別名ユーティリティ) は移植しませんでした。背後にある理由についてはわかりません。これ。データを入力する古い手順、Windows サーバーにログインするために使用されるデータ入力担当者は、アプリケーションを起動してデータを入力します。

  2. 移行後、古い DMS プログラムを使用できなくなるため、新しい DMS プログラムを作成する必要があります。

  3. ここをご覧になる前に、mssqlからmysqlへの移行についていくつか質問しましたhttps://stackoverflow.com/questions/22603868/converting-porting-mssql-table-to-mysql-table

  4. 私が直面している最大の問題は、データ入力担当者が以前と同じように 1 インチも少なくも多くも dms を望んでいないことです (これについて彼らを責めることはできません)。

ここに画像の説明を入力 古い DMS ここに画像の説明を入力 新しい DMSを表示

  1. 私は彼らに古いルックフィールと機能を戻すために最善を尽くしています。また、ほとんどの場合、古いエントリを新しい日付のみで更新する必要があるため、作業を減らしたいと考えています。記録して、もう一度再生します。

追加された日付のフロント エンド ビュー: ここに画像の説明を入力

mssql データベース構造

mssql データベース構造

mysql データベース構造 mysql

4

3 に答える 3

2

あなたはおそらくDATE_FORMAT(date,format)を探しています

%r  Time, 12-hour (hh:mm:ss followed by AM or PM)
于 2014-04-04T08:28:17.143 に答える
2

日付と時刻は、Date、Time、または DateTime データ型のいずれかとしてデータベースに格納する必要があります (db プロバイダーがサポートする型に応じて ( MySql 参照))。これらを文字列として保存しないでください。

ユーザーが値を入力する方法は、マシンのカルチャ設定によって決定される必要があります。

dateTimePicker1.Format = DateTimePickerFormat.Custom
dateTimePicker1.CustomFormat = Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern

そうすれば、12h 形式を好む場合は、コントロール パネルで設定するだけです。

次のように入力値を取得できます。

Dim ts As TimeSpan = New TimeSpan(DateTimePicker1.Value.Hour, DateTimePicker1.Value.Minute, DateTimePicker1.Value.Second)

日付と時刻を文字列の代わりにデータベースに格納すると、日付と時刻を好きなようにフォーマットできるため、それらを読み取るときに作業がずっと楽になります。

次に、アプリケーションで同じコードを使用して、ユーザーが好むカルチャでその日付または時刻を表示できます。(特定のカルチャの日付と時刻の書式設定)

また、文字列では不可能な (または少なくとも非常に非効率的な) 実際の日付または時刻でクエリを実行することもできます。

于 2014-04-04T08:28:24.970 に答える
0

.ToString("HH:mm")しばらくの間、すべての問題を解決しました。

于 2014-04-07T07:04:27.720 に答える