作成者別アーカイブ: admin

日付、日時(DateTime)オブジェクトから日付や時間、曜日の情報を取得する

VB
‘2000年9月30日13時15分30秒を表すDateTimeオブジェクトを作成する
Dim dt As New DateTime(2000, 9, 30, 13, 15, 30)

‘年を取得する。「2000」となる。
Dim year As Integer = dt.Year
‘月を取得する。「9」となる。
Dim month As Integer = dt.Month
‘日を取得する。「30」となる。
Dim day As Integer = dt.Day

‘時間を取得する。「13」となる。
Dim hour As Integer = dt.Hour
‘分を取得する。「15」となる。
Dim minute As Integer = dt.Minute
‘秒を取得する。「30」となる。
Dim second As Integer = dt.Second
‘ミリ秒を取得する。「0」となる。
Dim millisecond As Integer = dt.Millisecond

‘曜日を取得する。「DayOfWeek.Saturday」となる。
Dim week As DayOfWeek = dt.DayOfWeek
‘Int32型にキャストする。「6」となる。
Dim weekNumber As Integer = CInt(dt.DayOfWeek)

‘曜日を文字列で取得する
‘省略された曜日名で取得する。「土」となる。
Dim strWeek1 As String = dt.ToString(“ddd”)
‘完全な曜日名で取得する。「土曜日」となる。
Dim strWeek2 As String = dt.ToString(“dddd”)

‘「2000/09/30 0:00:00」のDateTimeオブジェクトを作成する
Dim dtd As DateTime = dt.Date
‘時刻の部分を取得する。「13:15:30」となる。
Dim dtt As TimeSpan = dt.TimeOfDay
‘年間積算日を取得する。「30」となる。
Dim doy As Integer = dt.DayOfYear


C#

//2000年9月30日13時15分30秒を表すDateTimeオブジェクトを作成する
DateTime dt = new DateTime(2000, 9, 30, 13, 15, 30);

//年を取得する。「2000」となる。
int year = dt.Year;
//月を取得する。「9」となる。
int month = dt.Month;
//日を取得する。「30」となる。
int day = dt.Day;

//時間を取得する。「13」となる。
int hour = dt.Hour;
//分を取得する。「15」となる。
int minute = dt.Minute;
//秒を取得する。「30」となる。
int second = dt.Second;
//ミリ秒を取得する。「0」となる。
int millisecond = dt.Millisecond;

//曜日を取得する。「DayOfWeek.Saturday」となる。
DayOfWeek week = dt.DayOfWeek;
//Int32型にキャストする。「6」となる。
int weekNumber = (int)dt.DayOfWeek;

//曜日を文字列で取得する
//省略された曜日名で取得する。「土」となる。
string strWeek1 = dt.ToString(“ddd”);
//完全な曜日名で取得する。「土曜日」となる。
string strWeek2 = dt.ToString(“dddd”);

//「2000/09/30 0:00:00」のDateTimeオブジェクトを作成する
DateTime dtd = dt.Date;
//時刻の部分を取得する。「13:15:30」となる。
TimeSpan dtt = dt.TimeOfDay;
//年間積算日を取得する。「30」となる。
int doy = dt.DayOfYear;

参考

さくらインターネットでCakePHPを動作 「500 Internal Server Error」

さくらインターネットでの問題点
マルチドメインの設定でCakePHPを動かすと、「500 Internal Server Error」で動かなくなる。
例)sampdomain ディレクトリにCakePHPをインストールし、「http://sampdomain.example.com/」のようにサブドメインとして設定し、動作させた場合。

以下のように、CakePHP内の3つの.htaccess に RewriteBase を追記することで、この問題は解決できる。

CakePHP内の3つの.htaccess に RewriteBase を追記する。

■home/アカウント/www/sampdomain/.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

■home/アカウント/www/sampdomain/app/.htaccess

RewriteEngine on
RewriteBase /app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]

■home/アカウント/www/sampdomain/app/webroot/.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

コントロールパネルの「ドメイン設定」で、マルチドメインの設定を確認する
※マルチドメインのパス「/sampdomain」の後にはスラッシュを入れてはダメです。

ドメイン名 ウェブ
example.sakura.ne.jp★ マルチドメイン /
example.com マルチドメイン /
sampdomain.example.com マルチドメイン /sampdomain

TextBoxやRichTextBoxで文字列の最後の行までスクロールさせる方法

VB.NET

‘カレット位置を末尾に移動
TextBox1.SelectionStart = TextBox1.Text.Length
‘テキストボックスにフォーカスを移動
TextBox1.Focus()
‘カレット位置までスクロール
TextBox1.ScrollToCaret()


C#

//カレット位置を末尾に移動
TextBox1.SelectionStart = TextBox1.Text.Length;
//テキストボックスにフォーカスを移動
TextBox1.Focus();
//カレット位置までスクロール
TextBox1.ScrollToCaret();

C#で メモ帳を起動する

//メモ帳を起動する
System.Diagnostics.Process p = System.Diagnostics.Process.Start(“notepad.exe”);

//コマンドライン引数に「”C:\test\1.txt”」を指定してメモ帳を起動する
System.Diagnostics.Process.Start(“notepad.exe”, @”””C:\test\1.txt”””);

//Excelファイルを起動する
System.Diagnostics.Process.Start(“excel.exe”, “C:\test\test.xls”);

Oracleのロックを解除。ORA-00054: リソース・ビジー

oracle使っていてロックがかかりっぱなしのテーブル。といったことはご経験がおありかと
ロックしたテーブルが発生すると解除まで結構時間がかかりますよね。

データベースのインポートする時にtruncateしようとすると、
ORA-00054: リソース・ビジー、NOWAITが指定されていました。
とか表示されたりします。

さて、解決方法を探しました。

簡単簡単。
表をロックしているセションを解除すればOKです。

— ロックしているセッションを探す
SELECT SID, SERIAL# FROM V$SESSION
WHERE SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN (‘TM’,’TX’)
)

上記SQLでセションIDとシリアルナンバーを取得します。
その後、取得した値を使ってセッションを切断すればよい。

— セッションを切断
alter system kill session ‘[SID], [SERIAL#]’

ですが、これでもダメな方は。。。ロックを解除できなければ、
DBサーバにログインしてOracleのサービスを再起動しましょう。
これでさすがに解決されると思います。
もちろん少しの間DBは使えなくなり、、、まぁ最悪ですがね。

トランザクションなど全ての処理が止まるので
今回のようにテスト環境以外ではよほどの緊急時じゃないかぎりNGですよね。

スタイルで要素を最前面に表示する|(css jquery)

DIV等の要素が重なっている場合に、特定の要素を動的に最前面に表示する方法です。

要素の重なり順を制御するためにスタイルにz-indexがあります。この値を適切に設定すれば、要素の順番を制御することができます。

<div id=”A” style=”z-index=20;width: 100px; 100px;background-color: Red;” /div>
<div id=”B” style=”z-index=10;width: 100px; 100px;background-color: Blue;” /div>

$(document).ready(function(){
$(‘#img-dtl13′).hover(function(){
$(this).css({ position:’absolute’,zIndex:1000 });
}, function(){
$(this).css({ position:’absolute’,zIndex:1 });
});

”position”指定しないと、ききませんから!
ここで相当ハマった。。。