我正在使用TimeZoneInfo在客户端wallclock'Eastern Time'和UTC之间进行转换.我的问题是在秋季DST更改期间发生的"重复"小时.
从UTC到Eastern的转换期间:
2010-11-07 06:00 UTC - >给出2010-11-07T 01:00:00-03:30
2010-11-07 07:00 UTC - >给出2010-11 -07T 01:00:00-03:30
我怎么知道哪个是第一个小时,哪个是第二个小时?DateTime.IsDaylightSavingTime()在两个小时都返回false,但是它不应该在第一个小时返回true吗?
同样,我如何存储2010-11-07 01:00:00 -03:30?如何将我的应用程序转换为UTC,因为它可能是2010-11-07 06:00或2010-11-07 07:00
对于那些需要代码的人,我骑自行车穿过一个带有UTC日期时间列的数据表,尝试使用'DupHr'列转换为东部第二个重复小时,但我总是在01:00时结束'DupHr'= 1.
TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime EasternTime;
DateTime DuplicateHour = new DateTime(2010, 11, 7, 1, 0, 0); // hard coded for this example
TimeZoneInfo.AdjustmentRule[] rules = est.GetAdjustmentRules();
foreach (DataRow row in dt.Rows)
{
row["DupHr"] = 0; // by default not duplicate hour
EasternTime = TimeZoneInfo.ConvertTimeFromUtc((DateTime)row[UTCColumnName], est);
if (!EasternTime.IsDaylightSavingTime())
{
if …Run Code Online (Sandbox Code Playgroud) 在Ext 3.x中我可以得到一个字段名称数组:
mystore.fields.keys
Run Code Online (Sandbox Code Playgroud)
我怎么能在4.0中这样做?我甚至无法看到我如何获得商店正在使用的模型(没有'getModel'方法).我是否需要找到记录并以这种方式获取字段?我用以下商店定义商店:
Ext.define('AM.store.Equipments', {
extend: 'Ext.data.Store',
model: 'AM.model.Equipment',
mycustFunc: function () {
var myfields = this.fields.keys (fails!)
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢...看看萤火虫更多似乎这得到我想要的:
this.model.prototype.fields.keys
Run Code Online (Sandbox Code Playgroud) 我不明白为什么我不能使用' myRendInside '函数来渲染网格列.我必须使用myRendGlobal或者我也可以使用' renderer: function(val) {blah blah'.'this.myRendInside'无法解决.
function myRendGlobal (val, metaData, record, rowIndex, colIndex, store) {
return val + 'abc'
};
Ext.define('AM.view.Event.Grid', {
extend: 'Ext.grid.Panel',
myRendInside: function (val, metaData, record, rowIndex, colIndex, store) {
return val + 'xyz'
},
columns: [{
dataIndex: 'name', renderer : this.myRendInside
},
{
dataIndex: 'phone', renderer : myRendGlobal
},
.
.
.
Run Code Online (Sandbox Code Playgroud)