问题列表 - 第48513页

用Java获取GMT时间

在Java中,我想获得GMT的当前时间.

我试过这样的各种选项:

Date date = new Date();
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
date1 = calendar.getTime();
Run Code Online (Sandbox Code Playgroud)

但是日期总是在我当地的时区解释.

我做错了什么以及如何将java Date转换为GMT?

java date gmt

27
推荐指数
4
解决办法
10万
查看次数

强制点(".")作为java中的小数分隔符

我目前使用以下代码打印双:

return String.format("%.2f", someDouble);
Run Code Online (Sandbox Code Playgroud)

这很有效,除了Java使用我的Locale的小数分隔符(逗号),而我想使用一个点.是否有捷径可寻?

java double formatting

96
推荐指数
4
解决办法
8万
查看次数

Left Outer Join不返回主表中的所有记录

当我执行左外连接时,我希望获得查询在添加连接表之前返回的所有记录,但它只返回与连接表匹配的记录(即:表中不存在'092387'的记录'文档',所以我只想为该记录的'filename'字段返回null.)我做错了什么?

mysql> select documentation_reference.ref_docnumber
            , documentation.filename 
      from documentation_reference 
      left outer join documentation on ref_docnumber=documentation.docnumber      
      where documentation_reference.docnumber='TP-036' 
      and documentation.status!=3;
+---------------+-----------------+
| ref_docnumber | filename        |
+---------------+-----------------+
| SOP-0042      | SOP-0042r39.pdf |
+---------------+-----------------+
1 row in set (0.00 sec)

mysql> select ref_docnumber 
       from documentation_reference 
       where documentation_reference.docnumber='TP-036';
+----------------------+
| ref_docnumber        |
+----------------------+
| 092387               |
| 1100218B             |
| Applicable Item Spec |
| SOP-0042             |
+----------------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

mysql join outer-join

8
推荐指数
1
解决办法
8490
查看次数

用于查找已注释掉的VHDL代码的工具

这个问题提出了一般性问题.我特别询问VHDL,因为提出问题答案的工具是针对Java和PL/SQL的.它不需要是完美的,一些手动解释会很好.我这样做是为了自动提交任务.

编辑3/9/11:@phillipe指出自动提交任务与手动解释不一致.我正在努力鼓励其他工程师摆脱代码并看到他们做到了.我猜一个悲观的工具对于提交会更好; 如果它错过了一些不是世界末日的代码.或者我可以报告这些行的数量并通过电子邮件发送给我,而不是停止提交.

comments vhdl

5
推荐指数
1
解决办法
713
查看次数

向量:rend()被erase()无效

根据C++规范(23.2.4.3),vector :: erase()只会使"擦除点之后的所有迭代器和引用"无效"

这样,在采用reverse_iterators时越过所有向量成员,在当前迭代器的擦除应该引起撕裂()成员将被无效.

此代码将在G ++下运行,但会在Windows上提供运行时异常(VS2010):

#include <vector>

using namespace std;

int main()
{
    vector<int> x;
    x.push_back(1);
    x.push_back(2);
    x.push_back(3);

    //Print
    for(vector<int>::const_iterator i = x.begin(); i != x.end(); ++i)
        printf("%d\n", *i);

    //Delete second node
    for(vector<int>::reverse_iterator r = x.rbegin(); r != x.rend(); ++r)
        if(*r == 2)
            x.erase((r+1).base());

    //Print
    for(vector<int>::const_iterator i = x.begin(); i != x.end(); ++i)
        printf("%d\n", *i);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误很有趣:

表达式:向量迭代器不可递减

在第二次运行时给出第二个for循环的行.递减引用reverse_iterator的内部"当前"迭代器成员,每当reverse_iterator递增时递减.

有人能解释一下这种行为吗?

谢谢.

编辑

我认为这个代码示例更好地表明它不是r的问题,而是rend():

//Delete second node
for(vector<int>::reverse_iterator r = x.rbegin(); r != x.rend();)
{
    vector<int>::reverse_iterator …
Run Code Online (Sandbox Code Playgroud)

c++ vector erase visual-c++

5
推荐指数
1
解决办法
1050
查看次数

将hashtable.Keys转换为List <int>或其他IEnumerable <int>

我知道,我有其他选择,例如我可以维护一个单独的键列表.请不要提出其他选择.我只是想知道我是否可以解决这个问题.请不要问我我要解决的问题是什么,或类似的问题.这是一个纯粹而简单的CS问题.

我想知道是否有人知道从a获取密钥的方法Hashtable并将它们转换为某种List<int>或其他类型IEnumerable<int>(当然,我的密钥实际上是整数).

鉴于我可以毫无问题地做到这一点:

foreach (int key in hashtable.Keys)
Run Code Online (Sandbox Code Playgroud)

为什么这会给我错误?

(List<int>)hashtable.Keys
Run Code Online (Sandbox Code Playgroud)

c# hashtable key

10
推荐指数
1
解决办法
3万
查看次数

使用IEnumerable <>源填充Dictionary <>

我有一个VS2008 C#.NET 3.5应用程序,我想在给定这些对象的IEnumerable列表的情况下创建对象的哈希表.

基本上,它看起来像这样:

public class MyCollection<T> : IEnumerable<T>
    where T: IMyData, new()
{
    private IDictionary<int, string> collection_ = new Dictionary<int, string>();

    // ...

    public void Add(T item)
    {
        collection_.Add(item.ID, item.Text);
    }

    public static MyCollection<T> Create(IEnumerable<T> source)
    {
        MyCollection<T> c = new MyCollection<T>();
        foreach(T item in source)
        {
            c.Add(item);
        }
        return c;
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否没有更好的方法从一个IEnumerable源复制到另一个.有什么建议?

谢谢,PaulH

c# collections ienumerable dictionary

8
推荐指数
1
解决办法
4175
查看次数

通过多个条件/过滤器过滤Rails 3数据库查询

我在这里遇到了一个真正的困境,我很确定我要做的事情相对简单.基本上我有一个数据库(跟随迁移),列出了一堆学生和他们的信息.有四个列,seek_position,min_hourly,max_hourly和start_weeks,我需要能够在网站的前端进行过滤.现在,我可以弄清楚该怎么做是显示一个页面,其上列出了所有用户.我不打算在这里找一份讲义,我已经完成了我所知道的所有事情,甚至尝试了一些我并不理解的东西,试着让它发挥作用.似乎绊倒我的是找到一种同时过滤多种东西的方法.例如,向所有学生展示seek_position为"internship",min_hourly为"7",max_hourly为"10",start_weeks为"2 to 4".有任何想法吗?我在没有脚手架的情况下使用ActiveRecord在Rails 3.0.3上.谢谢 :)

我的迁移:

class CreateStudents < ActiveRecord::Migration
  def self.up
    create_table :students do |t|
      t.string :name
      t.string :email
      t.integer :phone
      t.text :bio
      t.text :resume
      t.string :seeking_position
      t.integer :min_hourly
      t.integer :max_hourly
      t.integer :start_weeks
      t.string :pic_uid

      t.timestamps
    end
  end

  def self.down
    drop_table :students
  end
end
Run Code Online (Sandbox Code Playgroud)

search activerecord scope filtering ruby-on-rails

4
推荐指数
1
解决办法
2万
查看次数

Android:FLAG_ACTIVITY_NEW_TASK在同一进程中有效吗?

假设应用程序已经有一堆活动,然后使用FLAG_ACTIVITY_NEW_TASK从应用程序上下文启动一个新活动.这发生在同一个进程中,即在应用程序内部,如下所示:

AppContext -> A(FLAG_ACTIVITY_NEW_TASK) -> B -> C; AppContext -> D(FLAG_ACTIVITY_NEW_TASK)
Run Code Online (Sandbox Code Playgroud)

根据文档,我们现在有2个任务:

Task 1: A, B, C; Task 2: D
Run Code Online (Sandbox Code Playgroud)

从文档中可以看出,用户理论上可以独立地切换到活动C或活动D,因为它们属于不同的任务.然而,在实践中,我无法切换到活动C - 它总是切换到D.

我的问题是: 如果在与FLAG_ACTIVITY_NEW_TASK相同的过程中启动,任务是不是独立的,用户只能切换到最顶层任务中的最顶层活动?

如果答案是"否",那么用户切换到任务1的方式是什么?


UPDATE

答案是:
任务独立的,用户可以独立切换他们的活动,有效地将您的应用程序的两个活动放在堆栈顶部.在询问原始问题三年后,我刚刚找到了用例.

我们的应用程序将自己注册为URL方案的处理程序(如market://xxx.yyy/zzz).现在让我们想象一下,用户使用启动器启动了应用程序,进入某事物(活动A, B, C)的中间,然后离开了.然后在浏览器中,用户单击URL以启动我们的其他活动(活动D).这导致在同一时间有两个任务:活动A, B, C(C在顶部)和活动D.用户可以通过任务历史在这两个活动之间切换.

有趣的是,使用应用程序自己的图标在任务历史记录中可以看到活动C,但是使用浏览器的图标可以看到活动D. 无论如何,两者都可以切换到.

此外,这两个任务A-B-C,并D在同一个进程中运行.这意味着所有单重对象和静态数据都在它们之间共享.因此,如果不采取谨慎措施,他们可能会破坏彼此的状态.

stack android task android-activity

8
推荐指数
1
解决办法
7041
查看次数

在Cocos2d中替换场景时不会触发dealloc

出于某种原因,在更换场景时不会触发我的CCLayer的dealloc.这是替换场景的代码:

[[CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:2.0f scene:[HelloWorld scene]]];
Run Code Online (Sandbox Code Playgroud)

按下按钮时会触发上面的代码.

我已经在dealloc方法中放置了一个永远不会触发的NSLog.

更新1:

我最后通过在更换场景之前手动释放内存来解决问题.

cocos2d-iphone

5
推荐指数
1
解决办法
2140
查看次数