小编Mar*_*rco的帖子

转换GMT DateTime字符串

我是Java的新手,我对使用SimpleDateFormat和使用时有点困惑Calendar.我有一个Date-Object,想要提取GMT日期字符串yyyy-MM-dd HH:mm:ss.我住在德国,目前我们是GMT +0200.我的Date-Object的时间就是例如2011-07-18 13:00:00.我现在需要的是2011-07-18 11:00:00.我的时区的偏移量应自动计算.

我试过这样的事情,但我想某处有一个错误:

private String toGmtString(Date date){
    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    TimeZone timeZone = TimeZone.getDefault();
    Calendar cal = Calendar.getInstance(new SimpleTimeZone(timeZone.getOffset(date.getTime()), "GMT"));
    sd.setCalendar(cal);
    return sd.format(date);
}
Run Code Online (Sandbox Code Playgroud)

在某些设备上,datetring会像我想要的那样返回.在其他设备上,偏移量未正确计算,我从输入日期 - 对象接收日期和时间.你能给我一些提示或建议吗?我想我的方式获得默认时区不起作用?

java android date gmt simpledateformat

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

从http下载文件中检索文件名

我正在尝试从Web服务器下载文件并将其保存在服务器随文件发送的原始文件名下.下载工作得很好,但我无法获得真正的文件名.

举个实例我试图下载这个文件(Foxit PDF Reader).

如果我在Chrome等浏览器中使用此链接,则浏览器会下载包含版本等名称的文件.我从哪里获取此名称?我尝试阅读标题信息并正在搜索,Content-Disposition但服务器不发送此信息.我从哪里获得确切的文件名?

我试过这样的事情:

try {            
  URL webfile = new URL("http://www.foxitsoftware.com/downloads/latest.php?product=Foxit-Reader");
  URLConnection con = webfile.openConnection();
  Map map = con.getHeaderFields();
  Set set = map.entrySet();
  Iterator iterator = set.iterator();
  while (iterator.hasNext()) {
      System.out.println(iterator.next());
  }
} catch (IOException ex) {
  System.out.println("Error: "+ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

正如您在输出中看到的那样,没有Content-Disposition:

null=[HTTP/1.1 200 OK]
ETag=["244005-f36d40-4d003f3868000"]
Date=[Sat, 08 Dec 2012 12:29:02 GMT]
Content-Length=[15953216]
Last-Modified=[Tue, 04 Dec 2012 10:01:36 GMT]
Content-Type=[application/x-msdos-program]
Connection=[close]
Accept-Ranges=[bytes]
Server=[Apache/2.2.16 (Debian)]
Run Code Online (Sandbox Code Playgroud)

那么如何检索确切的文件名呢?浏览器中的链接下载具有名称的文件FoxitReader544.11281_enu_Setup.exe.

有任何想法吗?!

java filenames http download

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

如何使用android gcm向所有注册用户发送消息?

我正在使用android gcm为我的用户发送推送通知.一切都很好.要发送通知,我需要用户注册ID来识别他.有用.现在我的问题是我有几百个用户,我想告诉他们所有关于某些更新.

有没有办法向所有用户发送通知?我是否真的必须通过他们的注册ID来推动他们所有人?

在服务器端,我使用PHP和CURL,因为它在这里的许多示例中显示...

google-cloud-messaging

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

检查interface{}是否是struct的ptr

我想检查给定的f interface{}函数参数是否是指向结构的指针,但不知何故陷入困境:

更新的片段:

package main

import (
    "fmt"
    "log"
    "reflect"
)

func main() {

    // Switch f between being a pointer or not
    f := &struct{Foo string}{"Bar"}

    if err := something(f); err != nil {
        log.Fatal(err.Error())
    }

}

func something(f interface{}) error {

    if reflect.ValueOf(f).Kind() != reflect.Struct  {
        return fmt.Errorf("not struct; is %s", reflect.ValueOf(f).Kind().String())
    }

    if reflect.ValueOf(f).Kind() != reflect.Ptr  {
        return fmt.Errorf("not ptr; is %s", reflect.ValueOf(f).Kind().String())
    }

    // Deal with element values...
    t := reflect.ValueOf(f).Elem()

    for i := …
Run Code Online (Sandbox Code Playgroud)

reflection struct pointers go assertion

0
推荐指数
1
解决办法
2617
查看次数