如何在存储和检索数据库时将datetime-local转换为datetime
How to convert datetime-local to datetime while storing and retrieving from database
我正在敲打我的头使这成为可能,我如何转换datetime-local,我在jquery移动和存储数据作为datetime作为我的字段是datetime在数据库
'<input type="datetime-local"' + demodata + ' />';
我正在使用jquery移动版,有重大问题
if($(this).attr('type')==='datetime-local')
{
var $datevalue =$(this).val();
a[$(this).attr('name')] = $datevalue.toString(); //Have to convert to datetime instead
}
我的datetime-local值的格式是:2014-07-18T12:12
moment.js库可以做很多日期时间处理,包括时区、日期格式等。正确处理夏令时
这段代码根据用户的时区设置(在我的例子中是澳大利亚EDT (UTC +1100))将本地时间转换为UTC:
// convert local time to UTC
moment(new Date(2014, 0, 1, 0, 0, 0)).utc().format()
// returns "2013-12-31T13:00:00+00:00"
// convert UTC to local time
moment.utc("2013-07-31T05:05").local().format()
// returns "2013-07-31T15:05:00+10:00"
使用JavaScript的日期时间不是一件容易的事情。在SO和answers中有许多问题如何从字符串转换为日期时间,反之亦然。
如果你研究这个问题,你会发现这些方面使它变得复杂:
- 定位: +/- n小时地理时移
- 夏令时:是/否,+/- 1小时,取决于当前日期
- 不同的适配,客户端浏览器的年龄, UTC函数可用与否等。请注意,并非所有浏览器解析ISO日期时间字符串的方式都完全相同。
始终尝试了解哪些本地化和哪些DST是固有包含的或被静默解释的。通过使用完整长度的ISO字符串和使用详细的setter/getter,您将减少混淆。
从字符串到Date
看这里:
如何将字符串转换为日期时间与JavaScript格式规范?
从Date
到string:
如何在JavaScript中获得时间戳?
你会发现更多:-)
您应该能够使用输入的值创建一个新的Date
:
var str = $('[type=datetime-local]').val();
var d = new Date(str);
你还没有为你的时间戳指定一个格式,但是因为这是被设计为插入到数据库中,我写了一个方便的函数,它将JS日期转换为MySQL datetime
格式。
JS小提琴: http://jsfiddle.net/UujT3/3/
相关文章:
- 模拟chrome.storage.local函数使用Jasmine
- Datetime格式为Friendly Time.Moment JS输出错误
- Chrome扩展:Can't从chrome.local变量中检索值
- 如何将datetime转换为以毫秒为单位的epoch时间javascript
- 为什么datetime.strptime在使用Django运行时会抛出错误
- chrome.storage.local.get 如何设置值
- 将javascript gettime()转换为c#datetime
- 以datetime本地格式一个接一个地显示日期
- HTML5 datetime-local input field vs jQueryui datetime picker
- 设置datetime-local的默认时间值
- Angular将Input Datetime-local中的值作为参数传递
- 输入类型datetime-local设置了错误的时区
- 如何在存储和检索数据库时将datetime-local转换为datetime
- 从datetime-local元素转换为日期对象
- 显示HTML5 DateTime-local基于用户's区域/文化
- 如何通过jQuery设置datetime-local上的日期时间
- 是否可以知道输入类型=datetime local是否已填充一半
- mysql datetime data to HTML5 datetime-local 字段使用 JavaScript
- 使用AngularJs输入datetime-local默认值,即今天和当前时间
- 使用javascript将datetime-local输入的值格式化为user-locale字符串