Javascript 出生日期:每个地方的出生日期相同吗?
当前im存储用户自1970年1月1日起的出生日期(以毫秒为单位)。我是否必须确保每个国家的出生日期都相同,或者X国是11月11日,Y国是11月12日,这种情况是否常见Javascript 出生日期:每个地方的出生日期相同吗?,javascript,java,date,utc,Javascript,Java,Date,Utc,当前im存储用户自1970年1月1日起的出生日期(以毫秒为单位)。我是否必须确保每个国家的出生日期都相同,或者X国是11月11日,Y国是11月12日,这种情况是否常见 如果每个国家都有完全相同的出生日期,那么我如何确保我存储的毫秒始终指向每个国家的完全相同的月份?由您决定将选定的出生日期解释为哪个时区,以及在显示出生日期时使用哪个时区。在我看来,在将出生日期从时间戳转换为可读形式和存储时,如果您希望收集出生地的时区,那么始终使用出生地的时区是合乎逻辑的。否则,您可以始终使用GMT或任何其他时区作
如果每个国家都有完全相同的出生日期,那么我如何确保我存储的毫秒始终指向每个国家的完全相同的月份?由您决定将选定的出生日期解释为哪个时区,以及在显示出生日期时使用哪个时区。在我看来,在将出生日期从时间戳转换为可读形式和存储时,如果您希望收集出生地的时区,那么始终使用出生地的时区是合乎逻辑的。否则,您可以始终使用GMT或任何其他时区作为约定。这将确保所有国家/地区的所有用户都能看到相同的出生日期,但建议在日期表示中附加时区,以防止混淆。当然,在创建要存储的时间戳时,您可以选择将日期解释为基于GMT的日期,然后使用用户定义的时区(可能是用户帐户的时区)呈现出生日期。在这种情况下,如果包含出生时间,则每个用户的日期和时间都会有所不同。忽略一天中的时间 很少有人知道他们出生的时间。因此,不,这种详细程度通常不被跟踪。你在护照上看不到出生时间和出生时区等等。它们只跟踪日期值,不跟踪一天中的时间,也不跟踪时区 [P>调酒师、边境管制人员等使用本地当前日期计算年龄,没有试图考虑一天的时间或调整时区。考虑部分日差将被截断,忽略。 要从一个时区到另一个时区精确地调整某个时刻,您需要一个日期和一天中的某个时间。如果没有一天中的某个时间,你可能会有23-25个小时的时间来记录他们的出生 例如,24日午夜后几分钟在巴黎比UTC提前1或2小时出生的婴儿仍然是“昨天”,即比UTC晚4或5小时的蒙特勒尔23日。但如果出生时间是24日06:00,那么巴黎和蒙特利尔的出生日期都是相同的24日,但在不列颠哥伦比亚省温哥华和西雅图是“昨天”23日,那里的时钟比UTC晚7或8小时 SQL 在SQL中,使用类似于标准日期类型的数据类型 JAVA 在Java中,使用类型。要表示生日庆祝活动重复的月份和日期,请使用类 为了与数据库交互,符合JDBC 4.2的驱动程序应该能够通过PreparedStatement上的getObject和setObject方法直接与LocalDate一起工作。如果没有,请返回使用旧的java.sql.Date。添加到旧类的新方法有助于转换 ISO 8601 生成日期时间值的字符串表示形式时,请使用标准中定义的格式,如YYYY-MM-DD,ex:1960-07-11。适用于无年份的日期-年月日,例如:-07-11。java中的java.time类在解析和生成字符串时默认使用ISO 8601格式 一天中的强制时间 如果出于某种原因,您被迫在日期时间字段中输入一个仅限日期的值,则必须设置一天中的任意时间。中午是一种可能性。我建议将时间部分设置为一天中的第一个时刻 一天中的第一刻 请注意,第一个时刻并不总是00:00:00。夏令时DST和其他异常情况可能会影响某些时区的午夜。例如,一天中的第一个时刻可能是01:00:00。Java可以确定一天中适合特定时区的第一个时刻
ZoneId zoneId = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( zoneId );
ZonedDateTime startOfToday = today.atStartOfDay( zoneId );
您使用的是什么语言?我使用UTC存储毫秒。但是当它们出现在UI中时,它们当然会被转移到本地时间。好的,现在我们知道你正在做一些UI的事情。JavaScript?也许是Angular或JQuery?我离你越来越近了吗?这很重要,因为任何阅读你的问题的人都可能不知道或者没有办法帮助你,因为你没有给出代码或者标签。我现在要更新标签。如果我输入我的出生日期为1月1日,然后在其他时区读取我的详细信息,我不希望它显示为12月31日。