問題タブ [cultureinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - CultureInfoのプロパティからタイムゾーンを取得する方法
タイムスタンプ(yyyy-mm-dd hh:mm:ss
)を含む文字列があります。CultureInfo
取得した他の情報に基づいてオブジェクトを作成できます。したがって、タイムスタンプがどの国にあるかがわかります。タイムスタンプはUTC/GMTではありません。
タイムスタンプがインドネシア(new CultureInfo("id-ID")
)からのものであるとしましょう。これは、文字列が以下のコードなどによって作成されたことを意味します。
つまり、文字列にはインドネシアの現地時間が含まれています。タイムゾーンは知っていますが、インドネシアの時刻をUTC / GMTに変換する方法がわからないため、でUTC/GMTオブジェクトを使用できますTimeZoneInfo
。私自身のタイムゾーンは同じタイムゾーンである場合とそうでない場合があります。
どこかにありますか、この情報はつながっていますか?
CultureInfo
たくさんのプロパティがありますが、確かにそれらのいくつかはタイムゾーンを取得するために使用できますか?
私は、システム全体が非常に混乱していると思うので、物事がどのように機能すると思うかについてはかなり離れている可能性があると付け加えるかもしれません。
c# - CultureInfo によるフォーマット文字列
ポンド記号と形式 0.00 、つまり £45.00, £4.10 を表示したい。私は次のステートメントを使用しています。
しかし、それは機能していません。何が問題ですか。
誰でも私を助けることができますか?
.net - 「地域と言語の設定」で DateTime.ToShortTimeString() が Short Time 形式を尊重しないのはなぜですか?
おそらく、DateTime.ToShortTimeString() メソッドがどのように機能するかについての私の誤解が原因であるという問題に遭遇しました。この関数で時間文字列をフォーマットするとき、Windows 7 のフォーマット設定の「短い時間」設定を尊重すると想定していました。
ただし、.NET は、この設定ではなく、現在のカルチャに基づいて短い時間形式を選択しているようです。
Windows 7 RC でいくつかのテストを行いました。
私は el-GR を使用しました。これは、問題を報告したユーザーが使用していた文化であり、Vista SP2 と Win 7 RC でも同じ結果でテストしました。
質問は実際には 2 つあります。1) .NET と Windows フォーマットについての私の誤解は何ですか? 2) オペレーティング システムに基づいて短い形式の時刻文字列 (HH:mm または hh:mm tt) を作成するための最良の解決策は何ですか? .
将来の参照とテストのために、上記を生成するために使用されるメソッド。
更新: 以下の Mike のコメントに基づいて、上記の方法に次の変更を加えました。
以下の2行
に変更
また、CultureInfo.CurrentUICulture を使用するようにカルチャ変数を変更しました。
残念ながら、これは期待どおりに機能しませんでした。Windows 7 の [フォーマット] タブの [短時間] の構成に関係なく、出力は次のようになりました。
CultureInfo.CurrentUICulture は常に en-US のようです。
asp.net - ASHX ハンドラーでの Thread.CurrentThread.CurrentCulture の変更
ウェブサイトの言語を変更したい。ハンドラーを使用してそれを行うことができると思ったので、ドロップダウンはhttp://domain.com/Handler.ashx?language=en-US、 fi
したがって、次のコードを持つハンドラーを呼び出します。
しかし、戻ると、Thread.CurrentThread.CurrentCulture は初期値であった pt-BR に設定されます。
私の質問は次のとおりです。ハンドラーのスレッドは、コンテンツをロードする aspx ページとは異なりますか? そして、回避策として何を提案しますか?
ありがとうございました
asp.net - ASP.NET グローバリゼーション: ニュートラル カルチャ クラッシュを伴う Culture="auto" ページ ディレクティブ?
組み込みのグローバリゼーション機能を使用する ASP.NET アプリケーションがクラッシュするケースが発生しています。
Culture="auto" ディレクティブを含む ASP.NET ページで、ニュートラル カルチャをブラウザー言語として使用するユーザー ("zh-Hans" など) は、次の例外を生成します。
文化「zh-Hans」は中立的な文化です。書式設定や解析には使用できないため、スレッドの現在のカルチャとして設定することはできません。
System.Globalization.CultureInfo.CheckNeutral (CultureInfo カルチャ) で System.Threading.Thread.set_CurrentCulture (CultureInfo 値) で System.Web.UI.Page.set_Culture (文字列値) で ASP.somePage_aspx.__BuildControlTree (somePage_aspx __ctrl) で ASP で.somePage_aspx.FrameworkInitialize()
何か案は?Culture/UICulture パラメーターに渡されたガベージは通常無視されるように見えますが、このケースでは未処理の例外が発生しています。
c# - VS C#CultureInfoはIDE内で値に永続的に設定されていますか?
ドイツ語のVisualStudio9.0を持っています。doubleを使用し、かなりの構文解析を行うと、小数点の区切り記号が原因で問題が発生しました。
私が探しているのは、IDE全体(したがって、IDEで作成されたすべてのプロジェクト)を「en-gb」に切り替えるか、プロジェクト全体で行う方法です。必要のないamとpmがないため、en-gbを選択しました。
を使用して設定しようとしましたThread.CurrentThread.CurrentCulture
が、これは1つのスレッドのみに関係します。次に、アプリケーション全体の設定を見つけました。これは、コンソールアプリケーションを開発するときに探しているものではないようです。
何か案が?読んでくれてありがとう。
.net - DateTime.ParseExact()が「M / d/yyyy」を使用して「9/1/2009」を解析できないのはなぜですか
「2009年9月1日」のような文字列があります。(C#を使用して)DateTimeオブジェクトに変換したいと思います。
これは機能します:
しかし、なぜこれが機能しないのかわかりません。
日付に単語がなく(「9月」など)、特定の形式を知っているので、ParseExactを使用したいと思います(CultureInfoが必要になる理由がわかりません)。しかし、恐ろしい「文字列が有効なDateTimeとして認識されませんでした」という例外が発生し続けます。
ありがとう
少しフォローアップ。有効な3つのアプローチは次のとおりです。
そして、ここに機能しない3つがあります:
したがって、Parse()は「en-US」では機能しますが、ParseExactでは機能しません...予期しないことですか?
c# - FolderBrowserDialog 言語の変更
ユーザーが 2 つの言語から選択できるアプリケーションがあります。
FolderBrowserDialog 言語 (ボタン、フォルダーの参照) を変更することが可能です。おそらくCultureInfoで?
ご協力ありがとうございました。
c# - WCF サービスを逆シリアル化するときにカルチャを変更する
Java Web サービスからデータを読み取るために C# を使用しています。
VS2008 でサーバーへのサービス参照を作成し、そこにある 1 つのメソッドを呼び出すことができます。ただし、返されるフィールドのいくつかは Decimal 型であり、自動生成された WCF プロキシが XML を取得すると、次のような CommunicationException で失敗します。
[編集] 完全なスタックトレースは次のとおりです。
返された 10 進数は、10 進数として句読点でフォーマットされていることがわかります。テスト目的で Decimal.Parse("123.99") を試したところ、同じエラーが発生しました。を設定することで
Decimal.Parse("123.99") のテストコードの前に、それが機能するようになりました。
ただし、WCFService メソッドを呼び出す前に CurrentCulture を設定しても、違いはありません。
返された XML が別のカルチャ形式であることを WCFService プロキシ オブジェクトに理解させる方法はありますか?
asp.net - Asp.NetのUICultureリスト
en:Englishen-usなどの完全なUICultureリストはどこにありますか...