以UTC格式将LocalDateTime转换为LocalDateTime.
LocalDateTime convertToUtc(LocalDateTime date) {
//do conversion
}
Run Code Online (Sandbox Code Playgroud)
我在网上搜索过.但没有得到解决方案
如何将UTC的日期/时间字符串(例如2011-01-01 15:00:00)转换为php支持的任何给定时区,例如America/New_York或Europe/San_Marino.
我正在尝试在Workbench中对类似的东西进行建模,但我不知道在哪里设置"ON UPDATE"部分.我能得到的最好的是以下内容:
-- -----------------------------------------------------
-- Table `foo`.`test`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `foo`.`test` ;
CREATE TABLE IF NOT EXISTS `foo`.`test` (
`test_id` INT NOT NULL ,
`date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`date_updated` TIMESTAMP NOT NULL DEFAULT 0 ,
PRIMARY KEY (`test_id`) )
ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
我在哪里进入Workbench来设置这个ON UPDATE部分?
另外,我有一个规则,即存储在数据库中的所有时间戳都应该是UTC.如何让CURRENT_TIMESTAMP,NOW等成为UTC?
我想将日志文件中的UTC时间戳与本地时间戳进行比较.在创建本地datetime对象时,我使用如下内容:
>>> local_time=datetime.datetime(2010, 4, 27, 12, 0, 0, 0,
tzinfo=pytz.timezone('Israel'))
Run Code Online (Sandbox Code Playgroud)
我想找到一个自动工具来取代tzinfo=pytz.timezone('Israel')当前的本地时区.
有任何想法吗?
我正在使用Dapper将我的实体映射到SQL Server CE.如果我保存DateTime有Kind=Utc,当我读回我得到一个DateTime与Kind=Unspecified,从而导致所有类型的问题.
例:
var f = new Foo { Id = 42, ModificationDate = DateTime.UtcNow };
Console.WriteLine("{0} ({1})", f.ModificationDate, f.ModificationDate.Kind);
connection.Execute("insert into Foo(Id, ModificationDate) values(@Id, @ModificationDate)", f);
var f2 = connection.Query<Foo>("select * from Foo where Id = @Id", f).Single();
Console.WriteLine("{0} ({1})", f2.ModificationDate, f2.ModificationDate.Kind);
Run Code Online (Sandbox Code Playgroud)
此代码提供以下输出:
20/09/2012 10:04:16 (Utc)
20/09/2012 10:04:16 (Unspecified)
Run Code Online (Sandbox Code Playgroud)
我知道我应该使用a DateTimeOffset,但遗憾的是SQL CE不支持这种类型.
有解决方法吗?我可以告诉Dapper假设所有日期都有DateTimeKind.Utc吗?更一般地说,我有哪些自定义映射的选项?
编辑:我目前的解决方法是修补Dapper实现结果后的日期,但它有点气味......
var results = _connection.Query<Foo>(sql, param).Select(PatchDate);
...
static Foo PatchDate(Foo f)
{
if (f.ModificationDate.Kind …Run Code Online (Sandbox Code Playgroud) 输入:包含日期和可选时间的字符串.不同的表现形式会很好但很必要.字符串是用户提供的,可能会格式错误.例子:
"2004-03-21 12:45:33" (我认为这是默认布局)"2004/03/21 12:45:33" (可选布局)"23.09.2004 04:12:21" (德语格式,可选)"2003-02-11" (时间可能会丢失)所需的输出:纪元以来(1970/01/01 00:00:00)或其他一些定点的秒数.
额外:此外,读取本地系统时间的UTC偏移量会很棒.
假设输入是相关机器上的本地时间.输出需要是UTC.系统只是Linux(需要Debian Lenny和Ubuntu).
我试图使用boost/date_time,但必须承认我无法绕过文档.以下工作无需从系统本地时间转换为UTC:
std::string date = "2000-01-01";
boost::posix_time::ptime ptimedate = boost::posix_time::time_from_string(date);
ptimedate += boost::posix_time::hours(Hardcoded_UTC_Offset);// where to get from?
struct tm = boost::posix_time::to_tm(ptimedate);
int64_t ticks = mktime(&mTmTime);
Run Code Online (Sandbox Code Playgroud)
我认为boost::date_time可以提供所需的UTC偏移,但我不知道如何.
自1970年1月1日以来,如何获得Scala UTC时间戳(以秒为单位)?
我最近更新了我的系统,将日期/时间记录为UTC,因为它们以前存储为本地时间.
我现在需要将所有本地存储的日期/时间转换为UTC.我想知道是否有任何内置函数,类似于.NET的ConvertTime方法?
我试图避免编写实用程序的应用程序为我这样做.
有什么建议?
为什么这样做?
date_default_timezone_set('Australia/Currie');
Run Code Online (Sandbox Code Playgroud)
但这似乎没有任何影响?
date_default_timezone_set('UTC');
Run Code Online (Sandbox Code Playgroud)
将时区设置为UTC时,此值不会更改:
echo date('Y-m-d H:i:s', time());
Run Code Online (Sandbox Code Playgroud)
我正在使用php 5.2.13,我的服务器的时区是:
$server_tz = date_default_timezone_get();
echo $server_tz; //outputs 'America/Guayaquil'
Run Code Online (Sandbox Code Playgroud)
这是原始代码:
echo time() . "<br>\n";
date_default_timezone_set('UTC');
echo time() . "<br>\n";
Run Code Online (Sandbox Code Playgroud)
输出:
1317235130
1317235130
Run Code Online (Sandbox Code Playgroud)