我目前正在解决将MySQL时间转换为特定时区的概念,这取决于用户的设置.
我的所有MySQL时间都以UTC时间存储,格式如下:
2009-11-08 17:06:40
一旦我查询时间,我不太确定如何使用PHP将其转换为适当的时区.
因此,在上面的例子中,我想显示:
2009-11-08 09:06:40
这是我目前拥有的(可能需要修复):
$sql = 'SELECT date FROM mytable';
require("connection.php");
$result = mysql_db_query($DBname,$sql,$link);
while($row = mysql_fetch_assoc($result)) {
$dt_obj = new DateTime($row['date']);
$dt_obj->setTimezone(new DateTimeZone('PST'));
echo $dt_obj;
echo "<br>";
}
Run Code Online (Sandbox Code Playgroud)
首先,我收到以下错误:
Catchable fatal error: Object of class DateTime could not be converted to string
其次,我很困惑,无论如何我正确地设置它以正确的时区显示时间(在这种情况下,PST).
任何有关如何做到这一点的建议将不胜感激.谢谢!
更新:
我接受了GZipp的建议,并将代码修改为:
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $dt_obj->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
但是,它显示我的时间(使用上面的例子):
2009-11-08 15:06:40
关于什么会导致这个的任何想法?
我正试图弄清楚这一点.我有以下表格,效果很好!
<%= bootstrap_form_for @template do |f| %>
<%= f.text_field :prompt, :class => :span6, :placeholder => "Which one is running?", :autocomplete => :off %>
<%= f.select 'group_id', options_from_collection_for_select(@groups, 'id', 'name') %>
<% 4.times do |num| %>
<%= f.fields_for :template_assignments do |builder| %>
<%= builder.hidden_field :choice_id %>
<%= builder.check_box :correct %>
<% end %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
然后我有我的模型:
class Template < ActiveRecord::Base
belongs_to :group
has_many :template_assignments
has_many :choices, :through => :template_assignments
accepts_nested_attributes_for :template_assignments, :reject_if => lambda { …Run Code Online (Sandbox Code Playgroud) 这可能很容易:
我有两个变量:
$sender_id
$receiver_id
Run Code Online (Sandbox Code Playgroud)
这些ID存储在tblusers中并分配给用户.我一次选择一个没问题:
$data = mysql_query("SELECT * FROM tblusers WHERE usrID='$receiverID'") or die(mysql_error());
while($row = mysql_fetch_array( $data ))
{
echo $row['usrFirstName'];
echo $row['usrLastName'];
}
Run Code Online (Sandbox Code Playgroud)
但是,我如何选择两个行(一个用于senderID和receiverID),以便我可以访问这两个用户的更多信息.类似于"SELECT中的SELECT".
谢谢!
我有以下MySQL查询:
<?php
$sql = "SELECT * FROM my_table";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error());
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
print json_encode($rows);
?>
Run Code Online (Sandbox Code Playgroud)
其中输出以下JSON格式:
[
{
"id":"100",
"due_date":"2010-08-24 10:00:36"
}
]
Run Code Online (Sandbox Code Playgroud)
我的问题是:在我的MySQL查询中,我如何能够首先转换/修改一行(在本例中为日期),或者更确切地说,我将如何修改当前查询,使用类似于:
$date = strtotime($r['due_date']);
$new_date = date('j M', $date);
Run Code Online (Sandbox Code Playgroud)
然后JSON对结果进行编码,然后返回:
[
{
"id":"100",
"due_date":"24 Aug"
}
]
Run Code Online (Sandbox Code Playgroud) 我试图检索一些特定的数据,使用jQuery来检索JSON Feed.
这就是我目前正在做的事情:
var url = 'https://api.wunderground.com/api/myapicode/conditions/forecast/q/Tokyo.json?callback=?';
$.getJSON(url, function(d){
var data = d['current_observation'];
console.dir(data['display_location']);
});
Run Code Online (Sandbox Code Playgroud)
这成功返回到控制台:
city ==> "Tokyo"
country ==> "JP"
country_iso3166 ==> "JP"
elevation ==> "8.00000000"
full ==> "Tokyo, Japan"
latitude ==> "35.54999924"
etc...
Run Code Online (Sandbox Code Playgroud)
但是,假设我想获得"完整"的名称.如果我尝试:
console.dir(data['display_location']['full']);
Run Code Online (Sandbox Code Playgroud)
我最终得到了结果: There are no child objects
我在这里做错了什么想法?
我有以下MySQL SELECT语句(以及PHP):
SELECT *
FROM EVENTS
WHERE (
time1
BETWEEN "2013-04-22 19:30:00"
AND "2013-04-22 19:50:00"
)
OR (
time2
BETWEEN "2013-04-22 19:30:00"
AND "2013-04-22 19:50:00"
)
Run Code Online (Sandbox Code Playgroud)
以上查询返回以下行:
id | time1 | time2 |
-------------------------------------------------
26 2013-04-22 19:45:00 2013-04-26 12:25:00
Run Code Online (Sandbox Code Playgroud)
所以,显然,time1是返回行.
我的问题是:当我使用上面的SELECT语句迭代行时,如何确定是否是time1或time2'触发'(缺少更好的术语)要返回的行?
任何帮助都会很棒!
我花了几个小时试图找出我做错了什么,但我无法找到解决方案.简单地说,我正在尝试使用名为"semesters"的表格中的数据填充选择框.(我已经在SO上看到了很多关于这个的问题,但我不能让他们使用我的应用程序).
这就是我所拥有的:
class CoursesController < ApplicationController
def create
@semesters = Semester.all()
@course = Course.new(params[:course])
# Save the object
if @course.save
flash[:notice] = "Course created."
redirect_to(:action => 'list')
else
# If save fails, redisplay the form so user can fix problems
render('new')
end
end
end
Run Code Online (Sandbox Code Playgroud)
#views/courses/new.html.erb
<%= form_for(:course, :url => {:action => 'create'}) do |f| %>
<%= f.select(:semester, @semesters.map { |s| [ s.name, s.id ] }) %>
<%= submit_tag("Create Course") %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我希望它会输出:
<select>
<option id="1">Spring 2013</option> …Run Code Online (Sandbox Code Playgroud) 我有一个在Rails中运行的查询:
me = User.find(1)
my_groups = me.groups
Run Code Online (Sandbox Code Playgroud)
my_groups 可能会返回多行.
有没有办法使用一种方法来确定是否一个快速和肮脏的方式my_groups或me.groups大于一?
也许像是my_groups.greater_than_one? 不是,你会建议在确定查询是否返回> 1行?
me.groups本质上是另一个与User关联的表.它基本上显示了特定用户所属的"组".
我正在使用FullCalendar,我意识到如果调整窗口大小,FullCalendar的默认设置是处理窗口调整大小并根据需要调整日历.
但是,当选择导航侧边栏滑入/滑出时,我有一个小问题,FullCalendar会留下一些额外的周末周末.(见下文).当Nav Sidebar滑出时,情况正好相反.(周末变得很小).

到目前为止唯一的补救措施是调整窗口大小,然后调整日历.但我不希望用户显然必须这样做.
有没有办法以编程方式调整大小/刷新日历大小而不调整窗口大小?
我尝试过类似的东西: $("#calendar").fullCalendar( 'windowResize' ); 但这似乎不起作用.
关于我在这里可以做什么的任何想法?
谢谢!
我正在尝试使用以下命令将简单的getJSON运行到PHP文件:
$.getJSON("loadThumbs.php", { usrID: 25 }, function(data){
alert(data.filename);
});
Run Code Online (Sandbox Code Playgroud)
当弹出警报消息时,它会显示"未定义".
这是我的PHP文件(loadThumbs.php):
$usrID = $_GET['usrID'];
$sql = "SELECT id, isDefaultProfile, filename, usrID FROM profile_images WHERE isDefaultProfile=1 AND usrID='$usrID'";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error());
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
print json_encode($rows);
//Which outputs: [{"id":"5","isDefaultProfile":"1","filename":"26.jpg","usrID":"25"}]
Run Code Online (Sandbox Code Playgroud)
关于我可能做错的任何想法?
使用引导程序,每次添加"标签"时,它都会创建一个新的垂直线.但是,我想要实现的是在同一行水平放置两个标签.
我曾尝试与"控制组"合作,但未能按照我想要的方式工作.
这基本上是我想要实现的(注意它们都是水平的):
Date Start & End Time
<<input goes here>> <<start input here>> <<end input here>>
Run Code Online (Sandbox Code Playgroud)
这是我目前在这个JS Bin上(大致)坚持的链接.
任何帮助将不胜感激!
php ×5
mysql ×3
jquery ×2
json ×2
ruby ×2
autoresize ×1
form-helpers ×1
forms ×1
fullcalendar ×1
getjson ×1
javascript ×1
timestamp ×1
timezone ×1
weather-api ×1