小编Lor*_*con的帖子

Java - 日期保存为前一天

我在数据库上保存日期时遇到了一种非常奇怪的行为.在我的(Linux centOS 6.2)服务器上,我使用glassfish应用服务器(3.1.1 - build 12)和Java(1.7.0_09),该应用程序是用Java + GWT开发的,它使用PostgreSQL服务器(9.2.1).在应用程序内部,有几个日期字段保存在数据库中.日期字段使用datepicker(http://code.google.com/p/gwt-datepicker,r30).

db关系的date属性是日期类型(不是时间戳).有些日期在前一天保存在数据库中.问题只发生在间隔之间的日期,例如在19.03.1968和1910年10月27日之间,这让我想到了某种夏季时间问题.但是,由于1969年没有发生这种情况,我无法很好地孤立这个问题.我正在尝试找到问题发生的其他日期间隔.例如,如果我在应用程序中选择19.05.1968,则在保存到数据库中后,日期将保存为18.05.1968.

奇怪的是,我在另一台服务器上有相同应用程序的另一个等级,并且在相同日期它们被正确保存.这让我觉得问题可能依赖于:

  • 玻璃鱼配置;
  • java(java.util.Date implementation?);
  • 我缺少某种服务器配置

我尝试将服务器的每个配置设置为欧洲/罗马(我的时区),但没有.任何的想法?我怎么能解决或调查这个问题?

更新: 1968年是闰年.这个问题也发生在1972年,这也是闰年.总结:在夏季时间间隔期间,闰年发生了"日期保存一天前"问题.

创建日期对象的代码部分是:

Date d = dateField.getSelectedDate();
if (d != null) {
    txtVal = DateTimeFormat.getFormat("dd/MM/yyyy").format(d);
}
Run Code Online (Sandbox Code Playgroud)

其中dateField声明为:

transient private DatePicker dateField;
Run Code Online (Sandbox Code Playgroud)

包是org.zenika.widget.client.datePicker.DatePicker(之前提到的gwt-datepicker-r30),而DateTimeFormat是指com.google.gwt.i18n.shared.DateTimeFormat

接受答案后更新:

我使用了这个解决方法:当我创建日期时,我使用以下代码:

final long hours12 = 12L * 60L * 60L * 1000L;
Date d = new Date(d1.getTime() + hours12);
Run Code Online (Sandbox Code Playgroud)

java postgresql gwt date glassfish

19
推荐指数
1
解决办法
5154
查看次数

Pear Mail,如何以UTF-8发送普通/文本+文本/ html

我正在尝试发送文本和HTML的电子邮件,但我无法正确发送正确的标题.特别是,我想设置Content-Type标题,但我找不到如何为html和文本部分单独设置它.

这是我的代码:

$headers = array(
  'From'          => 'info@mydomain.com',
  'Return-Path'   => 'info@mydomain.com',
  'Subject'       => 'mysubject',
  'text_encoding' => '7bit',
  'text_charset'  => 'UTF-8',
  'html_charset'  => 'UTF-8',
  'head_charset'  => 'UTF-8',
  'Content-Type'  => 'text/html; charset=UTF-8'
);

$mime = new Mail_mime();

$html = '<html><body><b>my body</b></body></html>';
$text = 'my body';

$mime->setTXTBody($text);
$mime->setHTMLBody($html);

$body = $mime->get();
$headers = $mime->headers($headers);
$mail_object =& Mail::factory('smtp', $GLOBALS['pear_mail_config']);
$mail_object->send('test@mydomain.com', $headers, $body);
Run Code Online (Sandbox Code Playgroud)

这是我收到的电子邮件:

From: info@mydomain.com
Subject: mysubject
text_encoding: 7bit
text_charset: UTF-8
html_charset: UTF-8
head_charset: UTF-8
Content-Type: multipart/alternative;
    boundary="=_7adf2d854b1ad792c802a9db31084520"
Message-Id: <.....cut.....>
Date: Mon,  8 Oct …
Run Code Online (Sandbox Code Playgroud)

php pear

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

MySQL更新使用PDO和预处理语句不起作用

我的php PDO和mysql有一个奇怪的问题.

我有下表:

create table test_table ( id integer, value text );
Run Code Online (Sandbox Code Playgroud)

单排:

insert into test_table values (1, "asdf");
Run Code Online (Sandbox Code Playgroud)

当我尝试使用预准备语句更新此单行时,根据我使用的语法,我得到了不同的行为:

// connection to db (common code)
$dbh = new PDO("mysql:host=localhost;dbname=test", "myuser", "mypass");
Run Code Online (Sandbox Code Playgroud)

================================================== =======

// WORKING
$q = 'update test_table set id=1, value='.rand(0,99999).' where id=1';
$dbh->exec($q);
Run Code Online (Sandbox Code Playgroud)

================================================== =======

// WORKING
$q = 'update test_table set value=:value where id=:id';
$par = array(
    "id" => 1,
    "value" => rand(0,99999)
  );
$sth = $dbh->prepare($q, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute($par);
Run Code Online (Sandbox Code Playgroud)

================================================== =======

// NOT WORKING …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

AngularJS:动态设置模型名称的嵌套对象

我有一个包含变量名的数组,例如:

var names = ['address.street','address.city'];
Run Code Online (Sandbox Code Playgroud)

我想用这些创建输入字段,我正在使用AngularJS.没什么大不了:

<div ng-repeat="n in names">
    <input type="text" ng-model="data[n]" />
</div>
Run Code Online (Sandbox Code Playgroud)

生成的$scope.data对象是:

{
    "address.street" : ...,
    "address.city" : ...
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这并不是我想要实现的目标.是否有一种语法可以将我引导为一个对象,如下所示?

{
    "address" : {
        "street" : ...,
        "city" : ...
    }
}
Run Code Online (Sandbox Code Playgroud)

请考虑我可以有多个嵌套级别,这只是一个例子.

javascript angularjs

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

文本溢出:省略号和弹性

我有一个带有display: flex属性集的容器元素.一个孩子有固定的宽度(flex: 0 0 auto),另一个没有(flex: 1).灵活的孩子有一些其他的孩子:我希望这个容器(inner)根据父宽度剪辑其子元素.

我设法做到了这一点,但我也希望得到省略号溢出,以防内容被剪裁(子节点数不固定).

到目前为止这是我的代码:

.outer {
  border: 1px solid red;
  display: flex;
  width: 400px;
}

.inner {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex: 1;
  text-overflow: ellipsis;
}

.child {
  display: inline-block;
  white-space: nowrap;
  flex: 1;
  border: 1px solid blue;
}

.btn {
  border: 1px solid green;
  flex: 0 0 auto;
}
Run Code Online (Sandbox Code Playgroud)

住在这里:http://jsbin.com/niheyiwiya/edit?html,css,output

如何获得以下预期结果?(黑客欢迎 - 请css取悦!)

在此输入图像描述

html javascript css css3 flexbox

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

DQL多对多,数不胜数

我正在使用带有Doctrine的Symfony 2,并且我有两个实体加入了多对多关联.假设我有两个实体:User和Group,db上的相关表是users,groups和users_groups.

我想在DQL中获得前十大人口最多的组,但我不知道在连接表(users_groups)上执行查询的语法.我已经查看了Doctrine手册,但我没有找到解决方案,我想我还有很多东西可以学习DQL.

在普通的SQL中,它将是:

select distinct group_id, count(*) as cnt from users_groups group by group_id order by cnt desc limit 10
Run Code Online (Sandbox Code Playgroud)

你能帮我把它翻译成DQL吗?

更新(课程):

/**
 * Entity\E_User
 *
 * @ORM\Table(name="users")
 * @ORM\Entity
 */
class E_User
{
    /**
     * @ORM\ManyToMany(targetEntity="E_Group", cascade={"persist"})
     * @ORM\JoinTable(name="users_groups",
     *      joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="cascade")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id", onDelete="cascade")}
     * )
     */

    protected $groups;

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string $name
     *
     * @ORM\Column(name="name", …
Run Code Online (Sandbox Code Playgroud)

php dql symfony

7
推荐指数
1
解决办法
5346
查看次数

即使显式设置,Apache也不会发送Last-Modified标头

我的Last-Modified标头有问题.

我创建了一个简单的测试页面:

<?
header('Last-Modified: Thu, 14 Feb 2013 12:41:31 GMT');
?>
Run Code Online (Sandbox Code Playgroud)

当我用浏览器打开此测试页时,如果我检查标题,则没有Last-Modified标题.所有其他标准标头都已正确设置.无论如何,如果我使用https访问测试页面,则设置Last-Modified标头.

我也尝试在另一台服务器上进行相同的测试,即使没有https,我也可以正确设置标题.

那么,什么可以阻止/取消设置第一台服务器上的标头?我不包括httpd.conf文件,因为它很长.我将只包括缓存部分,即使我没有看到任何错误或与此问题相关:

ServerSignature Off
ServerTokens Prod

Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpe?g|png|gif|js|css).*$">
    Header set Cache-Control "public, no-transform"
    Header unset Vary:
</FilesMatch>
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A2592000
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/plain "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus …
Run Code Online (Sandbox Code Playgroud)

apache

7
推荐指数
1
解决办法
2226
查看次数

Mac OSX 10.6.7上进程'java'的大量线程和内存使用情况

我正在使用java + gwt和NetBeans 6.9.1 + Glassfish 3.0.1开发Web应用程序.经过几个小时的开发后,我的系统性能会下降,因此如果某个进程获得所有内存或cpu,我总是检查Activity Monitor.我总是注意到一个名为'java'的进程,它产生了大约50-60个线程.我的系统非常慢,直到我杀死它们,然后我可以正常工作.

我在开发期间使用NetBeans调试模式,但即使我停止调试模式,java进程仍然会降低系统性能,直到我杀死它.我有时也经历过"java.lang.OutOfMemoryError:Java堆空间"错误,它发生在几个小时之后(假设是12-16)我的NetBeans信息被打开了(这种情况发生在我的Linux环境中同样的NetBenas版本) ).在这种情况下,我需要关闭并重新打开它以使其再次编译/工作.

任何人都遇到过同样的问题和/或知道如何避免这些问题?你认为这个问题可能是由我正在开发的应用程序中的某种问题引起的,还是可能是Netbeans内存泄漏或bug?

java macos gwt glassfish netbeans-6.9

6
推荐指数
1
解决办法
2543
查看次数

自动设置输入值并打开建议-Google自动完成

我有一个输入字段,上面附加了Google自动填充功能。我想用一些默认值填充此字段,将输入聚焦并自动在输入下方打开预测框。

显然,设置输入值和焦点没有问题,但是我找不到打开建议框的方法。它在任何用户按键上打开;无论如何,模拟输入上的按键事件是行不通的。

所以我想知道是否有一种方法可以触发使自动完成框显示的事件。

我有以下示例代码:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<input type="text" id="q" />
Run Code Online (Sandbox Code Playgroud)

JS:

var input = document.getElementById('q');
var autocomplete = new google.maps.places.Autocomplete(input);
$('#q').val('Rome, ').focus();
// how to open suggestions box ?
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-maps-api-3

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

仅使用css交换div顺序

我想知道是否可以仅使用css以反转顺序显示两个div元素.没有HTML更改或javascript代码,只是CSS.

我有以下html:

<div id="container" class="clearfix">
    <div id="right-sidebar">Right</div>
    <div id="left-sidebar">Left</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这个当前的css:

#container {
    width: 200px;
    border: 2px solid blue;
    padding: 2px;
    margin: 0;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

#left-sidebar, #right-sidebar {
    width: 150px;
    padding: 2px;
}

#left-sidebar {
    border: 2px solid red;
    float: left;
}

#right-sidebar {
    border: 2px solid green;
    float: right;
}
Run Code Online (Sandbox Code Playgroud)

结果显示左侧上方的右侧div.我想交换它们,显示左边的一个,保持容器属性(自动计算高度).

用不同的词来解释它,我想通过交换html代码中的两个div来获得与CSS相同的结果.

只有css才有可能吗?[我在梦想浮动:底部属性:)]

http://jsfiddle.net/mT7JJ/1/

html css

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